使整个窗口居中Java

我的问题很简单,我猜…我想在运行程序时让我的java框架居中。

我使用了以下代码:

setLocationRelativeTo(null); 

问题:

这是框架的左上角,它居中但不是整个框架。 我怎么能纠正这个问题,让整个框架居中?

感谢您的帮助!

setLocationRelativeTo(null); ……这是框架的左上角……

看起来呼叫是在错误的时间进行的,在帧假设自然大小之前。 要解决此问题,请按此顺序执行此操作。

  • 添加所有组件,为GUI提供一个大小。
  • 调用pack()使框架成为显示其实际包含的组件所需的最小尺寸。
  • 调用setLocationRelativeTo(null);

OTOH:如果您的计算机上正在运行您的程序,请使用它。 但是如果你需要提供应用程序。 对于像我这样的其他人,请考虑使用setLocationByPlatform(true) (下面的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,请转到platee manager – > property – > form Size policy。