• category: swing folder: FullScreen title: Windowのフルスクリーン化 tags: [GraphicsEnvironment, JFrame, JDialog] author: aterai pubdate: 2008-04-28T10:19:14+09:00 description: JDialogやJFrameなどを、フルスクリーン表示に切り替えます。 image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTNRUUD2xI/AAAAAAAAAag/G7fNPgecnss/s800/FullScreen.png

概要

JDialogJFrameなどを、フルスクリーン表示に切り替えます。

サンプルコード

private void toggleFullScreenWindow() {
  GraphicsEnvironment graphicsEnvironment =
      GraphicsEnvironment.getLocalGraphicsEnvironment();
  GraphicsDevice graphicsDevice =
      graphicsEnvironment.getDefaultScreenDevice();
  if (Objects.isNull(graphicsDevice.getFullScreenWindow())) {
    dialog.dispose(); // destroy the native resources
    dialog.setUndecorated(true);
    dialog.setVisible(true); // rebuilding the native resources
    graphicsDevice.setFullScreenWindow(dialog);
  } else {
    graphicsDevice.setFullScreenWindow(null);
    dialog.dispose();
    dialog.setUndecorated(false);
    dialog.setVisible(true);
    dialog.repaint();
  }
  requestFocusInWindow();
}
View in GitHub: Java, Kotlin

解説

上記のサンプルは、JDialogをフルスクリーン表示とウィンドウ表示に切り替えることが出来ます。

  • F11キー、ダブルクリック
    • フルスクリーン表示、ウィンドウ表示の切り替え
  • Escキー
    • アプリケーション終了

フルスクリーン表示とウィンドウ表示を切り替える前にタイトルバーの非表示、表示もsetUndecorated(...)メソッドで切り替えていますが、このメソッドを使用する前に一旦disposeしてウィンドウのネイティブリソースを開放しておく必要があります。

参考リンク

コメント