2013-02-01 103 views
2

你好,我想設置JFrame的大小,當用戶改變屏幕分辨率。更新JFrame大小和擴展狀態

this.setSize(myWidth, myHeight); 

這工作正常,窗口變得更小/更大。但是如果我設置擴展狀態,它不會影響。我仍然可以看到菜單欄。

this.setExtendedState(Frame.MAXIMIZED_BOTH); 
this.setUndecorated(true); 

我必須調用一個函數,當我改變ExtendedSate和JFrame的運行?在初始化過程中,ExtendedState工作正常,無需調用重建或重新加載JFrame的函數。

+2

嘗試[* Full-Screen Exclusive Mode API *](http://docs.oracle.com/javase/tutorial/extra/fullscreen/index.html)。 – trashgod

+2

ExtendedState = Frame.MAXIMIZED_BOTH使操作系統選擇框架的邊界,而不是依賴於您在Java中設置的邊界。所以這一切都取決於你想要做什麼。你是否想要完全控制並且用Java手動執行所有操作(然後不要使用setExtendedState(MAXIMIZED_BOTH)),或者你希望操作系統爲你完成工作並選擇他認爲是擴展窗口的東西(然後使用setExtendedState(MAXIMIZED_BOTH)) –

+0

@GuillaumePolet你有一個教程用於手動執行Java中的窗口處理嗎? – Niklas

回答

0

我發現沒有真正簡單的本地方式,沒有lib。