0
我的Java JFrame几乎每次启动时都会启动不同的大小。它要么是我想要的尺寸(800x600),要么尺寸太小,无法做任何事情。JFrame每次发布都会发布不同的大小
public static void initFrame() {
JFrame frame = new JFrame("Test");
frame.setVisible(true);
frame.setMinimumSize(new Dimension(800,600));
frame.setMaximumSize(new Dimension(800,600));
frame.setSize(800,600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
}
我从另一个类推出:
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Frame.initFrame();
}
});
我试过了代码,大小是固定的......那么真正的问题是什么? –
主要的罪魁祸首是对'setVisible(true)'的调用,很久以前,组件实际上被添加到'JFrame'中(因为'JFrame'的大小尚未实现)。首先将组件添加到'JFrame',然后调用'setVisible(true)' –
并且不要忘记'pack()'! – trashgod