如何在Java中将窗口居中?

时间:2020-03-06 14:50:11  来源:igfitidea点击:

将java.awt.Window(例如JFrame或者JDialog)居中的最简单方法是什么?

解决方案

来自blog.codebeach.com/2008/02/center-dialog-box-frame-or-window-in.html(现已停用)

If you are using Java 1.4 or newer,
  you can use the simple method
  setLocationRelativeTo(null) on the
  dialog box, frame, or window to center
  it.

这应该适用于所有版本的Java

public static void centreWindow(Window frame) {
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
    int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
    frame.setLocation(x, y);
}

请注意,setLocationRelativeTo(null)和Tookit.getDefaultToolkit()。getScreenSize()技术仅适用于主监视器。如果我们在多监视器环境中,则在执行这种计算之前,可能需要获取有关窗口所在的特定监视器的信息。

有时很重要,有时不重要...

有关如何获取此信息的更多信息,请参见GraphicsEnvironment javadocs。