Posted on 2005-08-25 10:52
橘子 閱讀(890)
評(píng)論(1) 編輯 收藏 所屬分類:
程序開發(fā)
繼承或者直接使用下面的類可以定位一個(gè)窗口的屏幕位置。
?1?import?java.awt.Dimension;
?2?import?java.awt.Window;
?3?
?4?public?final?class?WindowUtilities?{
?5?
?6?????static?public?final?int?BOTTOM?=?1;
?7?
?8?????static?public?final?int?CENTER?=?2;
?9?
10?????static?public?final?int?LEFT?=?3;
11?
12?????static?public?final?int?RIGHT?=?4;
13?
14?????static?public?final?int?TOP?=?0;
15?
16?????static?public?void?positionWindowOnScreen(Window?w,?int?x,?int?y)?{
17?????????Dimension?scrn?=?w.getToolkit().getScreenSize();
18?????????Dimension?win?=?w.getSize();
19?????????int?nx?=?0;
20?????????int?ny?=?0;
21?????????switch?(x)?{
22?????????case?LEFT:
23?????????????nx?=?0;
24?????????????break;
25?????????case?CENTER:
26?????????????nx?=?(int)?((scrn.width?-?win.width)?/?2);
27?????????????break;
28?????????case?RIGHT:
29?????????????nx?=?(int)?(scrn.width?-?win.width);
30?????????????break;
31?????????}
32?????????switch?(y)?{
33?????????case?TOP:
34?????????????ny?=?0;
35?????????????break;
36?????????case?CENTER:
37?????????????ny?=?(int)?((scrn.height?-?win.height)?/?2);
38?????????????break;
39?????????case?BOTTOM:
40?????????????ny?=?(int)?(scrn.height?-?win.height);
41?????????????break;
42?????????}
43?????????w.setLocation(nx,?ny);
44?????}
45?
46?????static?public?final?void?centerWindowOnScreen(Window?w)?{
47?????????positionWindowOnScreen(w,?CENTER,?CENTER);
48?????}
49?}
50?