1
我有代碼看起來像這樣,這讓我的JFrame全屏:如何在全屏模式下切換全屏Swing框?
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();
JFrame myFrame = new JFrame("Title", device);
myFrame.setVisible(true);
myFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);
myFrame.setUndecorated(true);
myFrame.setResizable(false);
myFrame.validate();
device.setFullScreenWindow(myFrame);
我怎麼後來得到同樣的JFrame停下來是全屏,並恢復僅僅是一個正常的窗口?我沒有看到GraphicsDevice類的setFullScreenWindow
方法與之相反。我希望能夠根據需要來回切換。
非常感謝這一點。還有一個簡單的問題:我剛剛意識到我的應用程序實際上並未進入全屏模式。我得到一個'IllegalComponentStateException',在我稱之爲'setUndecorated(true)'的行上顯示'框架是可顯示的'。有關如何修復上述代碼以使其工作的任何想法? – SoaperGEM 2014-11-23 00:50:30
可能是因爲調用了'setExtendedState()'或'myFrame.validate()';它們不是全屏窗口所必需的。 – frenchDolphin 2014-11-23 00:54:28
我做了一些研究,實際的問題是,您將框架設置爲一開始就可見。刪除該行,你的程序應該可以正常工作。 – frenchDolphin 2014-11-23 01:00:26