3

私の質問は非常に単純だと思います...プログラムを実行するときにJavaフレームを中央に配置したいと思います。

私は次のコードを使用しました:

    setLocationRelativeTo(null);

問題 :

これはフレームの左上隅で、フレーム全体ではなく中央に配置されます。どうすればこれを修正できますか?フルフレームを中央に配置しますか?

ご協力ありがとうございました!

4

2 に答える 2

9

setLocationRelativeTo(null);...これはフレームの左上隅です...

フレームが自然なサイズになる前に、呼び出しが間違った時間に行われているようです。これを修正するには、この順序で実行します。

  • GUIにサイズを与えるために、すべてのコンポーネントを追加します。
  • フレームを呼び出しpack()て、フレームに現在含まれているコンポーネントを表示するために必要な最小サイズにします。
  • 電話setLocationRelativeTo(null);

OTOH:それがあなたのコンピュータ上で実行されているあなたのプログラムであるなら、それで行きなさい。ただし、アプリを提供する必要がある場合。私のような他の人には、setLocationByPlatform(true)(以下のWindowsデモ)の使用を検討してください。

于 2012-08-22T12:28:21.980 に答える
0

あなたはこれを試すことができます。私の場合は機能しています。

Frame frame = new Frame("Centered Frame");
Dimension dimemsion = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dimemsion.width/2-frame.getSize().width/2, 
                  dimemsion.height/2-frame.getSize().height/2);

NetBeansを使用している場合は、「プラテーマネージャ」->「プロパティ」->「フォームサイズポリシー」に移動します。

于 2016-01-19T06:28:32.440 に答える