舉例說明:
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對象
代碼:
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
因此不必向引用變量分配Toolkit對象的句柄。
程序代碼:
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);}}總結
以上就是這篇文章的全部內容,希望對大家的學習和工作能有所幫助。如果有疑問的可以留言交流。
新聞熱點
疑難解答