我嘗試了以下代碼 - 直接從main()通過eclipse在Windows 7 64位上運行。 JFrame仍然在展示中,即使我嘗試其他方式。
JFrame f = new JFrame();
f.setSize(750, 500);
f.show();
JOptionPane.showInputDialog(f, "hello", "there");
System.out.println("hi");
試試這個,如果你得到同樣的結果,那麼至少我們知道這是我們正在處理的,而不是一個Java問題,一個窗口的問題。
編輯:
通過您的代碼看後,我發現有問題的行。另外作爲一個方面說明,您應該在之後通常呼叫setVisible()
您已完成配置您的窗口。我的代碼尤其如此,因爲如果您嘗試在之後嘗試致電setUndecorated()
,那麼它會引發異常。
代碼:
this.setVisible(true); //This should be called after you finish configuration
device.setFullScreenWindow(this); //This is the problem!!!
相反,你應該使用:
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);
如果你想擁有你的窗口全屏,然後使用:
this.setUndecorated(true);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);
只是可以肯定,這是從窗口內部調用,即在JPanel/JFrame /等。類? – WaelJ
是的,它是從這個應用程序中唯一的一個框架JFrame中調用的,它也被最小化了:)。 – mitakis2002
試試我提供的代碼,並讓我們知道發生了什麼 – WaelJ