【发布时间】:2011-10-02 06:48:03
【问题描述】:
我想制作一个带有两个高度很高的按钮和一个滚动条的窗口。问题是没有出现滚动条。这是我的代码
public class Window {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//namestanje teme
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JFrame frame = new JFrame("frame");
// frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(null);
JButton but1 = new JButton();
JButton but2 = new JButton();
panel.add(but1);
panel.add(but2);
but1.setSize(50, 505);
but2.setSize(50, 505);
but1.setLocation(0, 0);
but2.setLocation(400, 400);
but1.setText("1");
but2.setText("2");
JScrollPane scroll = new JScrollPane(panel);
frame.add(scroll);
frame.setVisible(true);
}
}
注意:起初,按钮的宽度很大(通过将它们命名为“11111111111111111111111111111”之类的名称)并且会出现一个滚动条。然后我想要大的高度,不得不在面板中放置 null 。现在没有滚动条出现了。
【问题讨论】:
-
为什么要使用 Null 布局?此外,您应该调用
setPreferredSize(...),而不是setSize(...)。你的目标是什么? -
设置 Nimbus PLAF 的 16 行 真的 是演示问题所必需的吗?在讨论这个主题时,请考虑在未来发布SSCCE。
标签: java swing jscrollpane