我遇到了使我无法完成项目的问题。
我想向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);
}
});
}
}
我将您的代码粘贴到编辑器中,并注释了以下行:
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
我希望你觉得这有帮助。