刚在优快云上面看到了一篇文章,学到了一招将窗口位于中间的方法.以前都是通过获得屏幕尺寸然后算出位置.代码如下:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension size = frame.getSize();
int x = (screenSize.width - size.width) / 2;
int y = (screenSize.height - size.height) / 2;
frame.setLocation( x, y );
Dimension size = frame.getSize();
int x = (screenSize.width - size.width) / 2;
int y = (screenSize.height - size.height) / 2;
frame.setLocation( x, y );
要用5行代码才能实现.刚发现的代码之用一行就可以实现了.代码如下:
frame.setLocationRelativeTo(null);
简单一行代码就实现了我想要的功能.查看API得知,此方法为Window类的一个在jdk1.4以后才引入的方法.说明如下:
设置此窗口相对于指定组件的位置。如果此组件当前未显示,或者 c
为 null
,则此窗口位于屏幕的中央。如果该组件的底部在视线以外,则将该窗口放置在 Component
最接近窗口中心的一侧。因此,如果 Component
在屏幕的右部,则 Window
将被放置在左部,反之亦然。
所以对jdk本身的api也要花些心思啊...