2011-01-16 16 views
5

私はゲームを作っているので、JFrameを最大限にしたいと思っていますが、グラフィックスを壊すので、ユーザーがゲームのサイズを変更することも望ましくありません。私は同時にどのように両方を行うのだろうか?JFrameのサイズを最大化したり、サイズを変更したりすることはできませんか?

今、JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH)を使用して最大化できますが、JFrame.setResizeable(false)を実行すると直ぐにsetExtendedState()を使用して最大化することはできません。

私はそれを最大化し、幅と高さを保存し、それを使用することができますが、可能であれば、ウィンドウが実際に最大化されたように見えることを好みます。タイトルバーは、私が話していることを誰かが知っていれば、画面が最大になったときと画面がいっぱいになったときの両方で変化します。

答えて

6

これは私の作品:

frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
frame.setVisible(true); 
frame.setResizable(false); 
+1

ありがとうございました!以前はsetResizeable()の下でsetVisible()を実行していましたが、なぜそれらが互いに干渉するか分かりませんでしたが、失敗しました。 –

3

あなたは、これはそれがシングルトンApplicationクラスの内部で動作する方法であるJSR296を使用している場合:

JFrame main = view.getFrame(); 
    main.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    main.pack(); 
    show(view); 
    main.setResizable(false); 

パック()操作しないと画面がでません最大化。これは、LinuxとJava 6を使用してテストされました。

関連する問題