在使用Java时,我发现在启动应用程序时很难将主窗口放在屏幕中央。
我有什么方法可以做到吗? 它不必垂直居中,水平对齐对我来说是更重要的目标。但垂直对齐也很受欢迎。
答案 0 :(得分:495)
当您将null
传递给它时,此方法会产生特殊效果。根据Javadoc:
如果组件为null,或者与此组件关联的GraphicsConfiguration为null,则窗口将放置在屏幕的中心。
这应该在设置尺寸或致电pack()
后进行,但在将其设置为可见之前,请执行以下操作:
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
答案 1 :(得分:218)
我总是这样做:
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);
其中this
是所涉及的JFrame。
答案 2 :(得分:53)
您可以致电JFrame.setLocationRelativeTo(null)
以使窗口居中。请务必将其放在JFrame.setVisible(true)
答案 3 :(得分:26)
答案 4 :(得分:11)
这很简单......
setSize(220, 400);
setLocationRelativeTo(null);
或者如果您使用的是帧,请将帧设置为
frame.setSize(220, 400);
frame.setLocationRelativeTo(null);
澄清,from the docs:
如果组件为null,或者与此组件关联的GraphicsConfiguration为null,则窗口将放置在屏幕的中心。
答案 5 :(得分:7)
我使用NetBeans IDE 7.2.1作为开发人员环境,您可以选择配置JForm属性。
在JForm属性中的转到“代码”选项卡并配置“生成中心”。 您需要先将表单大小策略设置为“生成调整大小代码”。
答案 6 :(得分:7)
添加此内容后,您将获得尺寸设置:
frame.setLocationRelativeTo(null);
答案 7 :(得分:6)
我正在使用NetBeans IDE 7.3,这就是我集中管理JFrame的方法 确保单击JFrame面板并转到JFrame属性栏,单击代码栏并选择Generate Center复选框。
答案 8 :(得分:2)
如果使用NetBeans,只需单击设计视图上的框架,然后单击其属性上的代码选项卡。接下来,选中“生成中心”。这将完成工作。
答案 9 :(得分:1)
您可以使用此方法,该方法允许JFrame同时居中并全屏显示。
yourframe.setExtendedState(JFrame.MAXIMIZED_BOTH);
答案 10 :(得分:0)
在Net Beans GUI中- 转到jframe(在导航器中的 jFrame 上单击右键单击)属性,在 code , 表单大小政策 属性,选择 生成调整大小代码 。在同一窗口中, 取消勾选生成位置 和 勾选生成尺寸和中心 。
享受编程。 拉玛娜
答案 11 :(得分:0)
对于Java Swing:
转到“导航器”->“ JFrame”->“属性”->“代码”->选中“生成中心”
答案 12 :(得分:-1)
这对我有用:
工具包工具包= getToolkit();
尺寸大小= toolkit.getScreenSize();
setLocation(size.width / 2-getWidth()/ 2,size.height / 2-getHeight()/ 2);