问题

什么是中心ajava.awt.Window的最简单方法,例如aJFrame或aJDialog


#1 热门回答(215 赞)

Fromblog.codebeach.com/2008/02/center-dialog-box-frame-or-window-in.html(now dead)

如果你使用的是Java 1.4或更高版本,则可以在对话框,框架或窗口上使用简单方法setLocationRelativeTo(null)将其居中。


#2 热门回答(60 赞)

这应该适用于所有版本的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);
}

#3 热门回答(24 赞)

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

有时重要,有时不...

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


原文链接