水一期博客
如何将窗口居中显示?
如果你将窗口坐标定为:
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;
运行一下就会发现窗口在中间。
所以看到这点个赞呗。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
哦,我在凑字数。