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

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


当前回答

只需点击表单,进入JFrame属性,然后代码选项卡,并检查生成中心。

其他回答

我总是这样做:

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);

这里涉及到JFrame。

使用setLocationRelativeTo(空)

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

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

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

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

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

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

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

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