舉例說明:
1、有一個200*200像素的窗口,想要把它放在800*600像素的屏幕中間,屏幕的位置應是(800/2,600/2)=(400,300)
2、為了設置該窗口左上角的位置,以使窗口中心與屏幕中心相吻合,必須符合2個小條件(1)窗口的一半或100像素必須落在屏幕的中心的左邊(2)窗口的一半或100像素必須落在屏幕的中心的上方,因此窗口左上角的位置必須定位于(400-100,300-100)=(300,200)
如下圖所示:
但在實際程序運行的過程中,程序的運行環境顯示屏幕的實際尺寸和像素清晰度是不盡相同的,我們必須能動態的判斷運行Java程序的計算機屏幕的大小,以使程序不管運行在什么計算機上都能居中,JAVA的AWT提供了一個Toolkit
類,以使我們做出判斷!
具體應用
1、在Toolkit
類上調用一個靜態方法getDefaultToolkit()
,以便為這個平臺在AWT的Toolkit
對象上獲得一個句柄。
2、然后調用Toolkit
對象的getScreenSize()
方法,該方法返回一個Dimension
(中文意為尺寸)類對象。Demension
對象正好有兩個public int
屬性,即width
(以像素為單位),和heigth
(以像素為單位)
3、把這種方法調用“系”在一起,因為我們不想長時間的保持Toolkit
對象。我們只想暫時用它來恢復屏幕的Dimension
對象
代碼:
1
|
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); |
因此不必向引用變量分配Toolkit對象的句柄。
程序代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import javax.swing.*; public class FrameTest { public static void main (String[] args) { JFrame theFrame = new JFrame(“Whee!!!”); theFrame.setSize( 200 , 200 ); dimension frameSize=theFrame.getSize(); Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); int centerX = screenSize.width/ 2 ; int centerY = screeSize.height/ 2 ; theFrame.setlocation(centerX-halfwidth,centerY-halfHeight); theFrame.setVisible( true ); } } |
總結
以上就是這篇文章的全部內容,希望對大家的學習和工作能有所幫助。如果有疑問的可以留言交流。