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

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


当前回答

在Net Beans GUI - 转到jframe(在导航器中右键单击jframe)属性,在code下,form size policy属性选择Generate Resize code。在同一个窗口中,取消选中“生成位置”,选中“生成大小和居中”。

喜欢编程。 拉玛

其他回答

就这么简单……

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

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

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

为了澄清,请参阅文档:

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

使用setLocationRelativeTo(空)

此方法在传递空值时具有特殊效果。根据Javadoc:

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

这应该在设置大小或调用pack()之后完成,但在将其设置为可见之前,如下所示:

frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

您可以使用这个方法,它允许JFrame同时处于居中和全屏。

yourframe.setExtendedState(JFrame.MAXIMIZED_BOTH);

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

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

我使用NetBeans IDE 7.2.1作为我的开发环境,在那里你可以选择配置JForm属性。

在JForm属性中进入“代码”选项卡并配置“生成中心”。 你首先需要将表单大小策略设置为“生成调整大小的代码”。