我只是想搞個遊戲,但我之前也有過這個問題。當我指定一個特定的窗口大小(例如1024 x 768)時,生成的窗口只比我指定的大一點。很煩人。是否有一個原因?我如何糾正它,使創建的窗口實際上是我想要的大小,而不是稍大一點?到目前爲止,我總是回去手動調整大小几個像素,直到我得到了我想要的結果,但那已經變老了。如果甚至有一個我可以使用的公式,它會告訴我需要從我的變量中增加/減少多少像素,這非常棒!Java中的JFrame窗口大小如何產生指定的窗口大小?
P.S.我不知道我的操作系統是否會成爲這個因素,但我正在使用W7X64。
private int windowWidth = 1024;
private int windowHeight = 768;
public SomeWindow() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(windowWidth, windowHeight);
this.setResizable(false);
this.setLocation(0,0);
this.setVisible(true);
}
我使用了這段代碼,它告訴我W7創建的幀的確是我指定的尺寸,但它仍比我的1024 x 768顯示器大幾個像素。我有3臺顯示器(1920 x 1080,1024 x 768兩側),我注意到即使指定了setLocation(0,0),在我的主顯示器中創建的窗口對我來說只是幾個像素剩下。討厭,但我想這是W7的工作原理。我看不到任何選擇,除非處理它或以小增量更改數字,直到獲得理想的結果。 camickr爲勝利...(幫助糾正錯誤)。 – ubiquibacon 2010-03-15 21:02:54
也許你會發現frame.setExtendedState(JFrame.MAXIMIZED_BOTH);一個更好的選擇?那麼你不必擔心手動指定尺寸。 – camickr 2010-03-16 01:46:27
這聽起來也是個好主意。無論如何要使用它,同時指定我不希望框架超過一定的尺寸?例如,如果我在設置時使用了這種方法,則生成的窗口會填充我的主顯示器1920 x 1080,我不希望創建的窗口的大小超過1280 x 1024我將通過API讀取看看我能想出什麼。和我一起Camickr,當我學習編碼時,會有更多的問題。如果我也使用錯誤的語言學,請糾正我。謝謝你的幫助。 – ubiquibacon 2010-03-16 02:57:41