12

アプリケーションをフルスクリーン モードにしたいと考えています。これを行う最も簡単な方法は何ですか。これにはサードパーティのライブラリが必要ですか、それとも JDK にすでにこれを提供しているものがありますか?

4

5 に答える 5

22

全画面排他モード API を試してください。これは、リリース 1.4 の JDK で導入されました。機能の一部は次のとおりです。

  • 全画面排他モード- ウィンドウ システムを一時停止して、画面に直接描画できるようにします。
  • 表示モード- サイズ (モニターの幅と高さ、ピクセル単位)、ビット深度 (ピクセルあたりのビット数)、およびリフレッシュ レート (モニター自体が更新される頻度) で構成されます。
  • パッシブ レンダリングとアクティブ レンダリング- ペイント メソッドを使用したメイン イベント ループでのペイントはパッシブですが、独自のスレッドでのレンダリングはアクティブです。
  • ダブル バッファリングとページ フリッピング- よりスムーズな描画は、パフォーマンスの知覚とユーザー エクスペリエンスの大幅な向上を意味します。
  • BufferStrategy および BufferCapabilities - 使用されているバッファーの数や表示に使用されている手法を知らなくても、サーフェスやコンポーネントに描画できるようにし、グラフィック デバイスの機能を判断するのに役立つクラス。

リンクされたチュートリアルには、フルスクリーンの排他モードの例がいくつかあります。

于 2008-09-26T12:13:39.110 に答える
3

JFramesetUndecorated(true)メソッド

于 2008-09-26T12:19:55.083 に答える
2

ゲーム用の全画面 OpenGL ユーザー インターフェイスを使用している場合は、JOGL を使用してこれを行いました。とても簡単です。この機能はバージョン 5 で Java にも追加されたと思いますが、かなり前のことなので、その方法を忘れてしまいました (編集: 方法については上記の回答を参照してください)。

于 2008-09-26T12:13:44.600 に答える
2

次のコードを使用します。

JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);

必ずsetUndecorated()前に来るようにしてくださいsetVisible()。そうしないと機能しません。

于 2012-04-08T17:08:58.067 に答える
1

インターフェイスを表示するために使用しているもの、つまり AWT/Spring や OpenGL などに大きく依存します。

Java には全画面排他モード API があります。Sun のこのチュートリアルを参照してください

于 2008-09-26T12:15:05.690 に答える