Я хочу добавить полосу прокрутки в JPanel. Кто-нибудь знает, как это исправить? - PullRequest
0 голосов
/ 25 марта 2020

У меня есть проблема, которая не позволяет мне завершить проект.

Я хочу добавить полосу прокрутки в JPanel. Кто-нибудь знает, как это исправить?

Этот код выдает мне эту ошибку при попытке запустить: Ошибка

Код:

import javax.swing.*;


public class Startseite extends javax.swing.JFrame {

    public Startseite() {
        initComponents();
        JPanel paanel = new JPanel();
        paanel.setBounds(40, 50, 1050, 5200);

        JScrollPane scrollbar = new JScrollPane(paanel);
        scrollbar.setBounds(40, 50, 1050, 5200);
        add(scrollbar);

        pack();
        setVisible(true);
    }
    @SuppressWarnings("unchecked")

    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setBackground(new java.awt.Color(66, 66, 66));
        setBounds(new java.awt.Rectangle(0, 0, 1090, 570));
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setMaximumSize(new java.awt.Dimension(1103, 607));
        setMinimumSize(new java.awt.Dimension(1103, 607));
        setPreferredSize(new java.awt.Dimension(1090, 570));
        setResizable(false);
        setSize(new java.awt.Dimension(1090, 570));
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());



        pack();
    }                     


    public static void main(String args[]) {

        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Startseite.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Startseite.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Startseite.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Startseite.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Startseite().setVisible(true);
            }
        });
    }

}

1 Ответ

0 голосов
/ 25 марта 2020

Я вставил ваш код в мой редактор и прокомментировал следующую строку:

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

Программа работает без ошибок. Вы можете видеть, что ScrollBars, если вы добавите следующие строки:

scrollbar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollbar.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

Я не знаю, менеджер макетов org.netbeans.lib.awtextra.AbsoluteLayout, но если вы пытаетесь использовать абсолютный макет, вы можете обратиться к этой статье / tutorial by Oracle: https://docs.oracle.com/javase/tutorial/uiswing/layout/none.html

Если вы действительно хотите использовать этот конкретный c менеджер компоновки, вы можете обратиться к этой документации: http://jscience.org/experimental/javadoc/org/netbeans/lib/awtextra/AbsoluteLayout.html

Надеюсь, вы найдете это полезным.

...