Hallo,
ich habe eine GUI und innerhalb dieser GUI ist ein Button auf den man klickt und es öffnet sich ein weiteres JFrame im Vollbildmodus mit entsprechenden Displaymodes.
Das funktioniert wunderbar, selbst der Übergang vom window in den Fullscreenmode funktioniert ohne flackern und wird fast ganz sauber dargestellt. Wenn ich nun im Fullscreen das eben aufgegangene Fenster mit dipose() schließe und anschließend wieder öffne erhalte ich eine Fehlermeldung : "Component must have a valid peer". Nun verwende ich BufferStrategy des JFrames selbst, um im Vollbildmodus zu rendern(ohne Canvas). Bisher rufe ich die createBufferStrategy(2) - Methode beim ersten rendern auf mittels null Abfrage und nem return. Beim zweiten Aufruf allerdings scheint keine BufferStrategy mehr erzeugt zu werden.
Ich habe ein bisschen gegoogelt und herausgefunden, dass das JFrame scheinbar nicht vollständig geladen ist bevor die createBufferStrategy(2) - Methode aufgerufen wird. Ich habe bisher versucht ein pack() und setVisible(true) vor der Strategy aufzurufen aber ohne Erfolg. Nachdem ich das Fenster mit der aktuellen Bildschirmauflösung (Windows) erzeuge und den Fenstermodus vor der BS-Methode erzeuge müsste das Fenster eigentlich eine width und eine height haben. Dennoch kommt der Fehler.
Weiss da jemand Rat?
ich habe eine GUI und innerhalb dieser GUI ist ein Button auf den man klickt und es öffnet sich ein weiteres JFrame im Vollbildmodus mit entsprechenden Displaymodes.
Das funktioniert wunderbar, selbst der Übergang vom window in den Fullscreenmode funktioniert ohne flackern und wird fast ganz sauber dargestellt. Wenn ich nun im Fullscreen das eben aufgegangene Fenster mit dipose() schließe und anschließend wieder öffne erhalte ich eine Fehlermeldung : "Component must have a valid peer". Nun verwende ich BufferStrategy des JFrames selbst, um im Vollbildmodus zu rendern(ohne Canvas). Bisher rufe ich die createBufferStrategy(2) - Methode beim ersten rendern auf mittels null Abfrage und nem return. Beim zweiten Aufruf allerdings scheint keine BufferStrategy mehr erzeugt zu werden.
Ich habe ein bisschen gegoogelt und herausgefunden, dass das JFrame scheinbar nicht vollständig geladen ist bevor die createBufferStrategy(2) - Methode aufgerufen wird. Ich habe bisher versucht ein pack() und setVisible(true) vor der Strategy aufzurufen aber ohne Erfolg. Nachdem ich das Fenster mit der aktuellen Bildschirmauflösung (Windows) erzeuge und den Fenstermodus vor der BS-Methode erzeuge müsste das Fenster eigentlich eine width und eine height haben. Dennoch kommt der Fehler.
Weiss da jemand Rat?