Как вывести полноэкранный кадр Swing из полноэкранного режима?

1

У меня есть код, который выглядит примерно так, что делает мой полноэкранный режим JFrame:

GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();

JFrame myFrame = new JFrame("Title", device);
myFrame.setVisible(true);
myFrame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
myFrame.setUndecorated(true);
myFrame.setResizable(false);
myFrame.validate();

device.setFullScreenWindow(myFrame);

Как позже я получаю тот же JFrame, чтобы перестать быть полноэкранным и вернуться к тому, чтобы быть обычным окном? Я не вижу никакой противоположности методу setFullScreenWindow в классе GraphicsDevice. Я хотел бы иметь возможность переключаться туда и обратно по мере необходимости.

Теги:
swing
awt

1 ответ

2
Лучший ответ

Используйте setFullScreenWindow(null); а затем вызовите myFrame.setVisible(true);

  • 0
    Большое спасибо за это. Еще один быстрый вопрос: я только что понял, что мое приложение на самом деле не переходит в полноэкранный режим. Я получаю IllegalComponentStateException котором IllegalComponentStateException что The frame is displayable в строке, где я вызываю setUndecorated(true) . Любые идеи о том, как исправить этот код выше, чтобы он заработал?
  • 1
    Это может быть из-за вызовов setExtendedState() или myFrame.validate() ; они не нужны для полноэкранного окна.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню