Swing/FullScreen のバックアップ差分(No.7)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/FullScreen へ行く。
- 1 (2008-04-28 (月) 10:19:14)
- 2 (2008-04-28 (月) 18:16:22)
- 3 (2008-04-28 (月) 19:24:40)
- 4 (2008-05-24 (土) 02:17:23)
- 5 (2013-07-26 (金) 01:04:49)
- 6 (2013-09-18 (水) 20:58:37)
- 7 (2014-10-30 (木) 00:03:22)
- 8 (2015-11-20 (金) 15:20:53)
- 9 (2017-04-04 (火) 14:17:08)
- 10 (2017-05-24 (水) 17:28:52)
- 11 (2018-02-21 (水) 15:10:39)
- 12 (2020-02-20 (木) 15:10:17)
- 13 (2021-08-04 (水) 06:46:05)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:Windowのフルスクリーン化 #navi(../) #tags(GraphicsEnvironment, JFrame, JDialog) RIGHT:Posted by &author(aterai); at 2008-04-28 * Windowのフルスクリーン化 [#kfe10736] ``JDialog``や``JFrame``などを、フルスクリーン表示に切り替えます。 --- title: Windowのフルスクリーン化 tags: [GraphicsEnvironment, JFrame, JDialog] author: aterai pubdate: 2008-04-28T10:19:14+09:00 description: JDialogやJFrameなどを、フルスクリーン表示に切り替えます。 --- * 概要 [#kfe10736] `JDialog`や`JFrame`などを、フルスクリーン表示に切り替えます。 - &jnlp; - &jar; - &zip; #download(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTNRUUD2xI/AAAAAAAAAag/G7fNPgecnss/s800/FullScreen.png) #ref(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTNRUUD2xI/AAAAAAAAAag/G7fNPgecnss/s800/FullScreen.png) ** サンプルコード [#adab7743] * サンプルコード [#adab7743] #code(link){{ 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(); } }} ** 解説 [#f039da11] 上記のサンプルは、``JDialog``をフルスクリーン表示とウィンドウ表示に切り替えることが出来ます。 * 解説 [#f039da11] 上記のサンプルは、`JDialog`をフルスクリーン表示とウィンドウ表示に切り替えることが出来ます。 - KBD{F11}キー、ダブルクリック -- フルスクリーン表示、ウィンドウ表示の切り替え - KBD{Esc}キー -- アプリケーション終了 ---- フルスクリーン表示とウィンドウ表示を切り替える前に、タイトルバーの非表示、表示も``setUndecorated``メソッドで切り替えていますが、このメソッドを使用する前に一旦``dispose``してウインドウのネイティブリソースを開放しておく必要があります。 フルスクリーン表示とウィンドウ表示を切り替える前に、タイトルバーの非表示、表示も`setUndecorated`メソッドで切り替えていますが、このメソッドを使用する前に一旦`dispose`してウィンドウのネイティブリソースを開放しておく必要があります。 - ``setUndecorated(boolean undecorated)``は、ダイアログが表示されていないときにだけ呼び出すことができますが、この「表示されていない」は ``isVisible()``ではなく、``isDisplayable()``が``false``の意味なので、``dialog.setVisible(false);``としただけでは、 ``Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The dialog is ''displayable''.`` が発生します。 - `setUndecorated(boolean undecorated)`は、ダイアログが表示されていないときにだけ呼び出すことができますが、この「表示されていない」は `isVisible()`ではなく、`isDisplayable()`が`false`の意味なので、`dialog.setVisible(false);`としただけでは、 `Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The dialog is ''displayable''.` が発生します。 -- [http://docs.oracle.com/javase/jp/6/api/java/awt/Window.html#dispose() Window#dispose()] -- [http://docs.oracle.com/javase/jp/6/api/java/awt/Dialog.html#setUndecorated(boolean) Dialog#setUndecorated(boolean)] -- [http://docs.oracle.com/javase/jp/6/api/java/awt/Component.html#isDisplayable() Component#isDisplayable()] ---- %%``WebStart``(署名無し)から実行した場合、タスクバー(``Windows``)などを消してフルスクリーン化は出来ないようです。%% %%`WebStart`(署名無し)から実行した場合、タスクバー(`Windows`)などを消してフルスクリーン化は出来ないようです。%% ** 参考リンク [#e33e3400] - [http://java.sun.com/docs/books/tutorial/extra/fullscreen/index.html Lesson: Full-Screen Exclusive Mode API ] * 参考リンク [#e33e3400] - [http://docs.oracle.com/javase/tutorial/extra/fullscreen/exclusivemode.html Full-Screen Exclusive Mode (The Java™ Tutorials > Bonus > Full-Screen Exclusive Mode API)] ** コメント [#xe7709ed] * コメント [#xe7709ed] #comment #comment