Javaでフルスクリーンモードをプログラムする方法は?
-
02-07-2019 - |
質問
アプリケーションに全画面モードを持たせたい。これを行う最も簡単な方法は何ですか、これのためにサードパーティのライブラリが必要ですか、またはこれをすでに提供しているJDKに何かがありますか?
解決
フルスクリーン排他モードAPI をお試しください。リリース1.4のJDKで導入されました。機能の一部は次のとおりです。
- フルスクリーン排他モード-ウィンドウシステムを一時停止して、画面に直接描画できるようにします。
- ディスプレイモード-サイズ(モニターの幅と高さ、ピクセル単位)、ビット深度(ピクセルあたりのビット数)、およびリフレッシュレート(モニター自体の更新頻度)で構成。
- パッシブレンダリングとアクティブレンダリング-メインメソッドループでのペイントメソッドを使用したペイントはパッシブですが、独自のスレッドでのレンダリングはアクティブです。
- ダブルバッファリングとページフリッピング-よりスムーズな描画は、パフォーマンスの認識とユーザーエクスペリエンスの向上を意味します。
- BufferStrategyおよびBufferCapabilities -使用するバッファーの数やそれらを表示するために使用する手法を知らなくても、表面やコンポーネントに描画でき、グラフィックスの機能を判断するのに役立つクラスデバイス。
リンクされたチュートリアルには、全画面専用モードの例がいくつかあります。
他のヒント
JFrame setUndecorated(true)
メソッド
ゲーム用のフルスクリーンOpenGLユーザーインターフェイスがある場合、JOGLを使用してこれを実行しました。とても簡単です。この機能はバージョン5でもJavaに追加されたと思いますが、それを行う方法を忘れてしまったのはかなり前のことです(編集:方法については上の回答を参照してください)。
このコードを使用:
JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);
setUndecorated()
が setVisible()
の前に来るか、機能しないことを確認してください。
インターフェースの表示に使用しているもの、つまりAWT / SpringまたはOpenGLなどに依存します
Javaにはフルスクリーンの排他モードAPIがあります-こちらをご覧くださいSunのチュートリアル。
所属していません StackOverflow