在使用Java swing之前,我曾多次遇到此问题。我运行程序,除了窗口外什么都没显示;即使用像素调整大小的那一刻,一切看起来都很完美。谁能告诉我为什么会这样?
感谢。
答案 0 :(得分:3)
始终以invokeLater()
开头,使用layout manager,pack()
框架并将setVisible()
设为最后。
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridLayout(0, 1));
panel.add(...);
panel.add(...);
f.add(new JScrollPane(panel));
f.pack();
f.setVisible(true);
}
});
答案 1 :(得分:0)
确保以下代码出现在GUI代码的末尾。
frame.setSize(500,500); // size of the frame
frame.setVisible(true); // make frame window visible