我想向JPanel添加滚动条。有人知道如何解决此问题吗?

问题描述 投票:0回答:1

我遇到了使我无法完成项目的问题。

我想向JPanel添加滚动条。有人知道如何解决此问题吗?

当我尝试运行时,此代码给我这个错误:Error

代码:

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);
            }
        });
    }

}
java swing jpanel
1个回答
0
投票

我将您的代码粘贴到编辑器中,并注释了以下行:

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,但是如果您尝试使用绝对布局,则可以参考Oracle的本文/教程:https://docs.oracle.com/javase/tutorial/uiswing/layout/none.html

如果您确实要使用该特定的布局管理器,则可能要参考此文档:http://jscience.org/experimental/javadoc/org/netbeans/lib/awtextra/AbsoluteLayout.html

我希望你觉得这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.