Java 使整个窗口居中

Java 使整个窗口居中,java,swing,awt,frame,center,Java,Swing,Awt,Frame,Center,我的问题很简单,我想。。。 我希望在运行程序时以java框架为中心 我使用了以下代码: setLocationRelativeTo(null); 问题: 这是框架的左上角,居中,但不是整个框架。我怎样才能纠正这一点,并有完整的框架中心 谢谢你的帮助 setLocationRelativeTo(空)。。。 这是框架的左上角,它 似乎在帧假定为自然大小之前,在错误的时间发出了呼叫。要解决这个问题,请按以下顺序执行 添加所有组件,为GUI提供一个大小 调用pack()使框架成为显示当前包含

我的问题很简单,我想。。。 我希望在运行程序时以java框架为中心

我使用了以下代码:

    setLocationRelativeTo(null);
问题:

这是框架的左上角,居中,但不是整个框架。我怎样才能纠正这一点,并有完整的框架中心

谢谢你的帮助

setLocationRelativeTo(空)。。。
这是框架的左上角,它

似乎在帧假定为自然大小之前,在错误的时间发出了呼叫。要解决这个问题,请按以下顺序执行

  • 添加所有组件,为GUI提供一个大小
  • 调用
    pack()
    使框架成为显示当前包含的组件所需的最小尺寸
  • 调用setLocationRelativeTo(空)
奥托:如果是你的程序在你的电脑上运行,那就去吧。但如果你需要提供应用程序。对于像我这样的人,请考虑使用(下面的Windows演示)。
你可以试试这个。这对我的情况有效

Frame frame = new Frame("Centered Frame");
Dimension dimemsion = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dimemsion.width/2-frame.getSize().width/2, 
                  dimemsion.height/2-frame.getSize().height/2);

如果您使用的是NetBeans,请转到Plate manager->property->form Size policy。

在标题中添加“(已解决)”是没有意义的。如果你得到了答案,请接受!@FlopCoder:我编辑它的时候不能,我不得不等几分钟。谢谢你的理解。@gontard我也这么认为!但真正的决定权在于提出问题的人。当我发布这个答案时,已经有一个被接受的答案了。但是我希望注入一些其他的想法,赢得一些选票,也许,……只是也许,让提问者改变主意。;)你好,我刚刚读了你的答案和其他关于它的评论,我必须承认你的答案是最好的,也是最简单的。我听从了你的建议,效果很好。谢谢你,至少我的代码会更“干净”。对不起,丹,请不要把它坏了,我不想伤害你。。。无论如何,谢谢你的帮助!