如何把Java程序窗口在屏幕中間顯示
舉例說明:
1、有一個200*200像素的窗口,想要把它放在800*600像素的屏幕中間,屏幕的位置應(yīng)是(800/2,600/2)=(400,300)
2、為了設(shè)置該窗口左上角的位置,以使窗口中心與屏幕中心相吻合,必須符合2個小條件(1)窗口的一半或100像素必須落在屏幕的中心的左邊(2)窗口的一半或100像素必須落在屏幕的中心的上方,因此窗口左上角的位置必須定位于(400-100,300-100)=(300,200)
如下圖所示:
但在實(shí)際程序運(yùn)行的過程中,程序的運(yùn)行環(huán)境顯示屏幕的實(shí)際尺寸和像素清晰度是不盡相同的,我們必須能動態(tài)的判斷運(yùn)行Java程序的計算機(jī)屏幕的大小,以使程序不管運(yùn)行在什么計算機(jī)上都能居中,JAVA的AWT提供了一個Toolkit
類,以使我們做出判斷!
具體應(yīng)用
1、在Toolkit
類上調(diào)用一個靜態(tài)方法getDefaultToolkit()
,以便為這個平臺在AWT的Toolkit
對象上獲得一個句柄。
2、然后調(diào)用Toolkit
對象的getScreenSize()
方法,該方法返回一個Dimension
(中文意為尺寸)類對象。Demension
對象正好有兩個public int
屬性,即width
(以像素為單位),和heigth
(以像素為單位)
3、把這種方法調(diào)用“系”在一起,因?yàn)槲覀儾幌腴L時間的保持Toolkit
對象。我們只想暫時用它來恢復(fù)屏幕的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); } }
總結(jié)
以上就是這篇文章的全部內(nèi)容,希望對大家的學(xué)習(xí)和工作能有所幫助。如果有疑問的可以留言交流。
- 詳解如何使用Java編寫圖形化的窗口
- 解決Java調(diào)用BAT批處理不彈出cmd窗口的方法分析
- java selenium 操作彈出窗口示例代碼
- Java實(shí)現(xiàn)軟件運(yùn)行時啟動信息窗口的方法
- 用PHP+java實(shí)現(xiàn)自動新聞滾動窗口
- Java使用組件編寫窗口實(shí)現(xiàn)網(wǎng)絡(luò)圖片顯示
- JavaFX 監(jiān)聽窗口關(guān)閉事件實(shí)例詳解
- Java使用組件編寫窗口實(shí)現(xiàn)網(wǎng)上文件下載
- Java語言實(shí)現(xiàn)簡單FTP軟件 FTP上傳下載隊列窗口實(shí)現(xiàn)(7)
- java創(chuàng)建以任意圖片為背景的窗口
相關(guān)文章
Java使用modbus4j實(shí)現(xiàn)modbus?tcp通訊
Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個品牌)在1979年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議,本文主要介紹了java如何使用modbus4j實(shí)現(xiàn)modbus?tcp通訊,感興趣的可以了解下2023-12-12Spring MVC 基于URL的映射規(guī)則(注解版)
這篇文章主要介紹了Spring MVC 基于URL的映射規(guī)則(注解版) ,詳細(xì)的介紹了幾種方式,有興趣的可以了解一下2017-05-05Sharding-Jdbc 自定義復(fù)合分片的實(shí)現(xiàn)(分庫分表)
本文主要介紹了Sharding-Jdbc 自定義復(fù)合分片的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07Java編程思想里的泛型實(shí)現(xiàn)一個堆棧類 分享
這篇文章介紹了Java編程思想里的泛型實(shí)現(xiàn)一個堆棧類,有需要的朋友可以參考一下2013-07-07