Java設置窗口居中


背景

就開發圖形界面,遇到窗口居中,就原方法,是先獲取屏幕的長和寬,然后在除以2,

 

還有一種就是在初始化JFrame時候,寫上一句

setLocationRelativeTo(null); 

這樣就會使窗口居中,但要注意順序,應該是先定義窗口大小,在寫上這句話!

在看下api中的說明

public void setLocationRelativeTo(Component c)根據以下情況設置窗口相對於指定組件的位置。 
下面提到的目標屏幕是在調用setLocationRelativeTo方法之后應該放置窗口的屏幕。 

如果組件是null ,或GraphicsConfiguration與此組件關聯是null時,窗口被放置在屏幕的中心。 中心點可以使用GraphicsEnvironment.getCenterPoint方法獲得。 
如果組件不是null ,但它當前沒有顯示,則該窗口將放置在與此組件GraphicsConfiguration GraphicsConfiguration定義的目標屏幕的中心。 
如果組件不是null並顯示在屏幕上,則窗口的位置使得窗口的中心與組件的中心重合。 
如果屏幕配置不允許窗口從一個屏幕移動到另一個屏幕,則窗口僅被放置在根據上述條件確定的位置,並且其GraphicsConfiguration未更改。 

注意 :如果窗口的下邊緣超出屏幕,則窗口放置在離屏幕中心最近的Component側。 因此,如果組件位於屏幕的右側,窗口將放置在左側,反之亦然。 

如果在計算了窗口位置之后,窗口的上,左或右邊緣超出了屏幕,則窗口位於窗口的上,左或右邊緣與屏幕的相應邊緣。 如果窗口的左邊緣和右邊緣都不在屏幕之外,窗口將放置在屏幕的左側。 如果頂部和底部邊緣都超出屏幕,則會發生類似的放置。 在這種情況下,窗口被放置在屏幕的頂部。 

該方法更改幾何相關數據。 因此,本地窗口系統可以忽略這樣的請求,或者它可以修改所請求的數據,使得Window對象被放置並且以與桌面設置密切對應的方式被放大。 

參數 
c - 確定窗口位置的組件 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM