如何把Java程序窗口在屏幕中間顯示
舉例說明:
1、有一個(gè)200*200像素的窗口,想要把它放在800*600像素的屏幕中間,屏幕的位置應(yīng)是(800/2,600/2)=(400,300)
2、為了設(shè)置該窗口左上角的位置,以使窗口中心與屏幕中心相吻合,必須符合2個(gè)小條件(1)窗口的一半或100像素必須落在屏幕的中心的左邊(2)窗口的一半或100像素必須落在屏幕的中心的上方,因此窗口左上角的位置必須定位于(400-100,300-100)=(300,200)
如下圖所示:

但在實(shí)際程序運(yùn)行的過程中,程序的運(yùn)行環(huán)境顯示屏幕的實(shí)際尺寸和像素清晰度是不盡相同的,我們必須能動態(tài)的判斷運(yùn)行Java程序的計(jì)算機(jī)屏幕的大小,以使程序不管運(yùn)行在什么計(jì)算機(jī)上都能居中,JAVA的AWT提供了一個(gè)Toolkit類,以使我們做出判斷!
具體應(yīng)用
1、在Toolkit類上調(diào)用一個(gè)靜態(tài)方法getDefaultToolkit() ,以便為這個(gè)平臺在AWT的Toolkit對象上獲得一個(gè)句柄。
2、然后調(diào)用Toolkit對象的getScreenSize()方法,該方法返回一個(gè)Dimension(中文意為尺寸)類對象。Demension對象正好有兩個(gè)public int屬性,即width(以像素為單位),和heigth(以像素為單位)
3、把這種方法調(diào)用“系”在一起,因?yàn)槲覀儾幌腴L時(shí)間的保持Toolkit對象。我們只想暫時(shí)用它來恢復(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)行時(shí)啟動信息窗口的方法
- 用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上傳下載隊(duì)列窗口實(shí)現(xiàn)(7)
- java創(chuàng)建以任意圖片為背景的窗口
相關(guān)文章
為spring get請求添加自定義的參數(shù)處理操作(如下劃線轉(zhuǎn)駝峰)
這篇文章主要介紹了為spring get請求添加自定義的參數(shù)處理操作(如下劃線轉(zhuǎn)駝峰),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
基于SpringBoot+Redis實(shí)現(xiàn)分布式鎖
本文主要介紹了基于SpringBoot+Redis實(shí)現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Springboot整合MybatisPlus的實(shí)現(xiàn)過程解析
這篇文章主要介紹了Springboot整合MybatisPlus的實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
IntelliJ IDEA 使用經(jīng)驗(yàn)總結(jié)(推薦)
這篇文章主要介紹了IntelliJ IDEA 使用經(jīng)驗(yàn)總結(jié),非常不錯,具有參考價(jià)值,需要的朋友可以參考下2018-02-02

