TITLE:Windowのフルスクリーン化

Windowのフルスクリーン化

Posted by terai at 2008-04-28

概要

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

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

private void toggleFullScreenWindow() {
  GraphicsEnvironment graphicsEnvironment
    = GraphicsEnvironment.getLocalGraphicsEnvironment();
  GraphicsDevice graphicsDevice
    = graphicsEnvironment.getDefaultScreenDevice();
  if(graphicsDevice.getFullScreenWindow()==null) {
    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();
}

解説

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

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

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


Webstart(署名無し)から実行した場合、タスクバー(Windows)などを消してフルスクリーン化は出来ないようです。

参考リンク

コメント