将整个窗口居中Java

时间:2012-08-22 12:03:45

标签: java swing awt frame center

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

我使用了以下代码:

    setLocationRelativeTo(null);

问题:

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:9)

  

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

似乎是在假设自然尺寸之前,在错误的时间进行了通话。要解决这个问题,请按此顺序执行。

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

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

答案 1 :(得分:0)

你可以试试这个。它适用于我的情况。

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 - >表格大小政策。