使整个窗口居中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。