在使用Java时,当我启动应用程序时,我发现很难将主窗口定位在屏幕中央。

我有什么办法能做到吗? 它不一定要垂直居中,水平对齐对我来说更重要。但纵向排列也受欢迎。


当前回答

如果你显式设置preferredsize(新维度(X, Y));那么最好使用:

setLocation (dim.width / 2-this.getPreferredSize()。width / 2、dim.height / 2-this.getPreferredSize () .height / 2);

其他回答

就这么简单……

setSize(220, 400);
setLocationRelativeTo(null);  

或者如果你正在使用一个框架,然后将框架设置为

frame.setSize(220, 400);
frame.setLocationRelativeTo(null);  

为了澄清,请参阅文档:

如果该组件为空,或者与该组件关联的GraphicsConfiguration为空,则窗口将位于屏幕的中央。

你可以调用JFrame.setLocationRelativeTo(null)来使窗口居中。确保把它放在JFrame.setVisible(true)之前

如果你显式设置preferredsize(新维度(X, Y));那么最好使用:

setLocation (dim.width / 2-this.getPreferredSize()。width / 2、dim.height / 2-this.getPreferredSize () .height / 2);

我使用NetBeans IDE 7.3,这就是我如何去集中我的JFrame 确保你在JFrame面板上单击并转到你的JFrame属性栏,在代码栏上单击并选择生成中心复选框。

如果使用NetBeans,只需单击设计视图上的框架,然后单击其属性上的code选项卡。接下来,选中“生成中心”。这样工作就完成了。