【发布时间】:2014-01-07 22:11:54
【问题描述】:
我的JFrame 窗口总是从左上角开始。我希望它从屏幕中间开始。我该如何解决这个问题?
【问题讨论】:
标签: java swing jframe centering
我的JFrame 窗口总是从左上角开始。我希望它从屏幕中间开始。我该如何解决这个问题?
【问题讨论】:
标签: java swing jframe centering
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);
来源:How to set JFrame to appear centered, regardless of monitor resolution?
【讨论】:
如果您知道屏幕的size,请使用setBounds 声明窗口的x 和y 位置,以及height 和width。
另一种选择是使用frame.setLocationRelativeTo() 方法,并传入null。
【讨论】:
试试这个:
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);
}
【讨论】:
另一种简单的方法:
frame.setLocationRelativeTo(null);
【讨论】: