我的問題很簡單我猜... 我想我的Java框架居中當我運行我的程序。居中整個窗口Java
我用下面的代碼:
setLocationRelativeTo(null);
問題:
這是居中的幀,但不的整個幀的左上角。我該如何糾正這個問題,並讓整個框架居中?
謝謝你的幫助!
我的問題很簡單我猜... 我想我的Java框架居中當我運行我的程序。居中整個窗口Java
我用下面的代碼:
setLocationRelativeTo(null);
問題:
這是居中的幀,但不的整個幀的左上角。我該如何糾正這個問題,並讓整個框架居中?
謝謝你的幫助!
setLocationRelativeTo(null);
... 這是
看來這...呼叫在錯誤的時間所取得的幀的左上角,框架先後承擔了自然大小前。要解決該問題,請按照此順序進行。
pack()
可以使框架成爲顯示其當前包含的組件所需的最小尺寸。setLocationRelativeTo(null);
OTOH:如果您的計算機上運行的程序,走這一點。但是,如果你需要提供應用程序。對於像我這樣的其他人,請考慮使用setLocationByPlatform(true)
(下面的Windows演示)。
這必須是被接受的答案。 – gontard
@gontard我也這麼認爲!但是,提出這個問題的人要真正做出決定。當我發佈這個答案時,已經有一個被接受的答案。但我希望注入一些其他想法,賺取一些贊成票,也許,也許,請求者改變主意。 ;) –
你好,我剛剛閱讀你的答案和其他評論,我必須承認你的答案是最好的,最簡單的。我遵循你的建議,它工作正常。謝謝,至少我的代碼會更「乾淨」。 – user1614914
你可以試試這個。它是在我的情況下工作。
Frame frame = new Frame("Centered Frame");
Dimension dimemsion = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dimemsion.width/2-frame.getSize().width/2,
dimemsion.height/2-frame.getSize().height/2);
如果您使用的是NetBeans,請轉至platee manager - > property - > form Size策略。
在標題中加入「(已解決)」沒有意義。如果你有你的答案,__accept__那! – 0605002
@ FlopCoder:當我編輯它時,我不能等待幾分鐘。感謝您的理解。 – user1614914