19 września
14:01 2006
Uproszczony kot źródłowy:
public static void setFullScreen(JFrame frame, boolean fullScreen) { frame.dispose(); frame.setResizable(!fullScreen); frame.setUndecorated(fullScreen); if (fullScreen) { frame.setLocation(0, 0); frame.setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize()); } frame.setVisible(true); frame.repaint(); }
Kluczem do wszystkiego jest wywołanie frame.dispose(), które tymczasowo zniszczy nasze okno. Zawartość okna zostanie przywrócona poprzez setVisible(true).
java.awt.GraphicsDevice/setFullScreenWindow(Window w) robi coś podobnego, ale jest wolniejsze, nie działa prawie w ogóle w starszych wersjach Javy, i ustawia okno w trybie "exclusive", co może powodować problemy, jeśli np. otworzymy jakiś dodatkowy JDialog.
Proszę o komentarz
Wygląda mi to na trik używany przez stare instalatory w Windowsach, które rozwalają się oknem na cały ekran, zasłaniając taskbar. Znienawidziłem to od pierwszej chwili ;P
@Jezuch: też kiedyś robiłem takie instalatory :)