2012-05-03 3 views
1

正直言って、タイトルに自分の質問を表現する方法はあまりよく分かりませんでした。ですから、誰かが私が尋ねようとしていることをより明確に理解しているなら、それを編集するほど親切で、人類のより良い利益のためにしてください。JFramesをフルスクリーン排他モードに入れることはできますか?

私は次のコードを持っている:私は何をしたいか

public class Main { 
    public static void main(String[] args) { 
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
    GraphicsDevice gd = ge.getDefaultScreenDevice(); 

    JFrame frame = new JFrame(); 
    Window window = new Window(frame); 

    JButton btn = new JButton("Quit"); 
    window.add(btn); 

    if(gd.isFullScreenSupported()) 
     gd.setFullScreenWindow(window); 

    btn.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
      GraphicsDevice gd = ge.getDefaultScreenDevice(); 
      gd.setFullScreenWindow(null); 
     } 
    }); 
} 

}

は、フルスクリーンモードに示すライブラリシステムを作るです。フルスクリーンモードでは、テキストフィールドを含む単純なフレームウィンドウなどが必要です。ここに重い2D/3Dグラフィックスは必要ありません。

問題は、終了ボタンが画面全体。フレーム、ウィンドウ、さらにはボタンの上でsetBounds、setSizeなどを使用しようとしました...しかし、ボタンを中央に配置することはできません。

私の質問:フルスクリーン排他モードに設定されているJFrameアプリケーションウィンドウ内にJFrameアプリケーションウィンドウを作成することは可能ですか?または、描画のような2D/3Dメソッドと一緒にフルスクリーン排他モードを使用することは可能ですか?

注:フルスクリーンモードを使用する唯一の目的は、黒い背景に設定し、この黒い背景のJframeウィンドウのオンタップをアプリケーションの中央に置くことです。これは、アプリケーションが実際にシステムであるという錯覚を与えることです。

ありがとうございます。

P.S.終了ボタンは私自身のテストの目的にすぎないことに注意してください。それは実際のシステムの一部ではないので、私の質問は、この特定の終了ボタンのサイズを変更する方法を中心にしていません。

答えて

3

フルスクリーン排他モードは、内部にSwingコンポーネントを持つことを目的としていません。これは、Javaでグラフィックスを描画するための高性能な方法を意味します(また、適切な場合は、ハードウェアのアンダーレイが可能な限り有効です)。

デコレーションされたJDesktopPaneを使用して、画面のサイズを超えて最大化することで、やりたいことを達成できました。次に、JInternalFrameを使用して、そのJDesktopPane内にJFrameのようなウィンドウを表示します。

それぞれのAPIセクションへのリンクが含まれていますので、開始する必要があります。

+0

このMDIのものはまさに私が探していたものです... JDesktopPaneのディメンションを最大化するのではなく、MDIとフルスクリーンの排他モードを組み合わせて、自分が望むものを実現することができると思います。仲間をありがとう。 – yackyackyack

+0

問題はありません、アプリケーションとの幸運 – Falx

1

問題は、レイアウトマネージャを正しく使用していないことです。 レイアウトマネージャー - スクリーン上にビジュアルコンポーネントを配置し、サイズ変更/サイズ変更するモジュールについて学びます。次に、ボタンをどのように見えるようにするかを決定し、使用するレイアウトマネージャを決定します。それは仕事をするでしょう。

+0

JFrameウィンドウ内に新しいJFrameウィンドウをフルスクリーンで表示することは可能ですか? – yackyackyack

2

私はあなたが後になっているのはMDIアプリケーションだと思います。それがあなたの後であれば、あなたは一見を見ることができるhere

+0

大きな感謝の仲間。これは、ファルクスが書いたものと一緒に、私が探していたものです。 – yackyackyack

0

私は全く同じ問題を抱えていましたが、自分の経験から知っている唯一のことは、あなたがジンナル・フレームを使用してその属性を真実にして、あなたの要件に従ってカスタム・タイトル・バーを追加できることです。

関連する問題