Я попробовал следующий код - напрямую из main () через eclipse, работающий в Windows 7 64-bit.JFrame остается на дисплее, даже если я попробую иначе.
JFrame f = new JFrame();
f.setSize(750, 500);
f.show();
JOptionPane.showInputDialog(f, "hello", "there");
System.out.println("hi");
Попробуйте это, и если вы получите тот же результат, то, по крайней мере, мы знаем, что мы имеем дело с проблемой Windows, а не с 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);