Vollbild unter Apple (bzw. Cross-Plattform)

Hallo

dieses Problem dürften bestimmt einige schon einmal gestolpert sein:

Vollbild

Unter Windows ganz einfach:

frame.setUndecorated();
frame.setLocationRelativeTo(null);
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setVisible(true);```

Aber unter Apple ist das Fenster zwar da und hat auch die richtige Größe, aber das Apple-Dock hält sich hartnäckig im Vordergrund!
Ich habe gelesen das es bei Apple Window-Level gibt, aber die habe ich leider nur in Verbindung mit objective-C gefunden...

Dank Minecraft weiß ich das es irgendwie möglich sein muss ;)

Weiß jemand wie das zu bewerkstelligen ist?

Danke schonmal

Vielleicht hilft folgender Post auf SO: http://stackoverflow.com/questions/1155838/how-can-i-do-full-screen-in-java-on-osx
Dort wird das GraphicsDevice benutzt, dessen setFullScreenWindow-Methode der JFrame übergeben wird.

Danke!

Das hat mir, vielleicht, sehr geholfen!

Ich hab heute keinen Apple Rechner zum ausprobieren, aber das wird sich ändern :wink:
Auf Windows 7 funktioniert es jedenfalls wunderbar.

Hier der funktionierende Code(wenn es jemanden interessiert):

                            frame.dispose();
                            frame.setUndecorated(!frame.isUndecorated());
                            GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();

                            if (gd.isFullScreenSupported()) {
                                    try {
                                        gd.setFullScreenWindow(frame.isUndecorated() ? frame: null);
                                    } catch (Exception ex) {
                                        ex.printStackTrace();
                                        gd.setFullScreenWindow(null);
                                    }
                            } else {
                                    System.err.println("Full screen not supported");
                            }

                            frame.setVisible(true);
}```

Was mich dann immer nervt bei dieser Methode iat, dass man keine Dialoge mehr oeffnen kann ohne haessliche Render-Fragmente zu erhalten. Daher taeusche ich meistens den Vollbildschirm vor…

Icu auch, meistens mit setExtendedState JFrame#MAXIMIZED_BOTH… aber dass es bei apple nicht geht, haette ich nicht gedacht…

NetBeans macht es auch mit setUndecirated und etc pp…

hm, bei Netbeans funktioniert es ja nachgewiesener weise auch bei apple…

Was ist denn das „etc pp“ bei Netbeans?

Hier iwt ein Link zum Source Code, da siehst du dann das etc pp. Die Methode ist recht weit unten:
http://kickjava.com/src/org/netbeans/core/windows/view/ui/MainWindow.java.htm