将整个窗口居中Java

use*_*914 3 java swing center awt frame

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

我使用了以下代码:

    setLocationRelativeTo(null);
Run Code Online (Sandbox Code Playgroud)

问题:

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

谢谢您的帮助!

And*_*son 9

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

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

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

OTOH:如果您的计算机上正在运行您的程序,请使用它.但是如果你需要提供应用程序.对于像我这样的其他人,请考虑使用setLocationByPlatform(true)(下面的Windows演示).