水一期博客


如何将窗口居中显示?


如果你将窗口坐标定为:
x:窗口宽度/2
y:窗口高度/2
那么窗口会在右下方。因为你的程序左上角的坐标就是(x,y)

如果居中,则x和y坐标都要加上窗口宽度和长度的一半,让程序正中央的坐标为(x,y)

(图片使用Windows有史以来最牛X的作图工具——画图.exe


首先要获取屏幕的宽和高

public void setWindowLocation() {
	//获取屏幕大小
	Toolkit kit = Toolkit.getDefaultToolkit();
	//获取屏幕大小(int类型)
	Dimension screenSize = kit.getScreenSize();
	
	//通过屏幕大小获取宽度和长度
	int screenw = screenSize.width;
	int screenh = screenSize.height;
}

然后获取窗口的高和宽

int width = this.getWidth();
int height = this.getHeight();

设置大小即可:(屏幕宽度/2+程序宽度/2),(屏幕高度/2+程序高度/2)
通过亿系列的计算得到以下式子:

//坐标x
(width+screenw)/2
//坐标y
(height+screenh)/2

然后就可以设置窗口的坐标了:

this.setLocation((width+screenw)/2, (height+screenh)/2));

(也许)然后你会发现窗口在右下方
然后你就会很疑惑
然后你就会举报!
当发现代码的结果不符合我们想要的结果时,可以注释部分代码或中途输出一下结果即可。

System.out.println(width + "" + height);

结果是0和0
咕咕咕?你在没有调用setSize()这个方法之前获取程序的长和宽,那么长和宽自然为0。
其实也不用辣么懒,cvsetSize()里面的长和宽就行了。

//假设我要的窗口宽度是640,高度是480
int width = 640;
int height = 480;

运行一下就会发现窗口在中间。

所以看到这点个赞呗。


|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
哦,我在凑字数。

更多推荐

Java如何将窗口居中显示