我正在制作游戏,所以我想让JFrame开始最大化,但我也不希望用户调整游戏大小,因为它会搞砸图形。我想知道如何同时做两件事?
现在,我可以使用JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH)来最大化,但是只要我执行JFrame.setResizeable(false),我就不能再使用setExtendedState()来最大化它。
我意识到我可以最大化它,存储宽度和高度,然后使用它,但如果可能的话,我希望窗口实际上看起来像是最大化了。如果有人知道我在说什么,标题栏会在最大化时更改,而只是在填充屏幕时调整大小。
答案 0 :(得分:6)
这对我有用:
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
frame.setResizable(false);
答案 1 :(得分:3)
如果您使用的是JSR296,这就是它在单例Application类中的工作方式:
JFrame main = view.getFrame();
main.setExtendedState(JFrame.MAXIMIZED_BOTH);
main.pack();
show(view);
main.setResizable(false);
如果没有pack()操作,窗口不会最大化。这是使用Linux和Java 6测试的。