web-dev-qa-db-ja.com

モニターの解像度に関係なく、JFrameを中央に表示するように設定する方法

Javaを使いながら、アプリケーションを起動したときにメインウィンドウを画面の中央に配置するのは難しいと思います。

私はそれを行うことができる方法はありますか?垂直方向の中央に配置する必要はありません。水平方向の配置が私にとって最も重要な目標です。しかし、垂直方向の配置も大歓迎です。

184

私はいつもこうやってやった:

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);

thisは、関連するJFrameです。

218
Jack

setLocationRelativeTo(null)を使用

このメソッドにnullを渡すと、特別な効果があります。 Javadocによると:

コンポーネントがnullの場合、またはこのコンポーネントに関連付けられているGraphicsConfigurationがnullの場合、ウィンドウは画面の中央に配置されます。

これは、サイズを設定した後、またはpack()を呼び出した後で、表示可能に設定する前に、次のようにしてください。

frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
496
JRL

ウィンドウを中央に配置するには、 JFrame.setLocationRelativeTo(null) を呼び出します。必ずこれをJFrame.setVisible(true)の前に置いてください。

53
Greg

フォームをクリックしてJFrameのプロパティに行き、次にCodeタブに行き、Generate Centerをチェックするだけです。

enter image description here

26

これと同じくらい簡単...

setSize(220, 400);
setLocationRelativeTo(null);  

フレームを使用している場合は、フレームを

frame.setSize(220, 400);
frame.setLocationRelativeTo(null);  

明確にするために、 ドキュメントより

コンポーネントがnullの場合、またはこのコンポーネントに関連付けられているGraphicsConfigurationがnullの場合、ウィンドウは画面の中央に配置されます。

11
gcclinux

これを追加すると、サイズが設定されます。

frame.setLocationRelativeTo(null);

7
philanderson556

私は開発者環境としてNetBeans IDE 7.2.1を使用していますが、そこにはJFormプロパティを設定するオプションがあります。

jFormのプロパティで、[コード]タブに移動し、[Generate Center]を設定します。最初にフォームサイズポリシーを「サイズ変更コードの生成」に設定する必要があります。

7
Asaf Magen

私はNetBeans IDE 7.3を使用しています。これがJFrameの一元化です。JFrameパネルをクリックしてJFrameプロパティバーに移動し、コードバーをクリックしてGenerate Centerチェックボックスを選択します。

6
Gstuntz Wonderz

NetBeansを使用している場合は、デザインビューのフレームをクリックしてから、そのプロパティのコードタブをクリックします。次に、「Generate Center」をチェックしてください。これで仕事は終わりです。

2
Kingsley Ijike

この方法を使用すると、JFrameを中央に配置して全画面表示にすることができます。

yourframe.setExtendedState(JFrame.MAXIMIZED_BOTH);
1
The Appsolit

明示的にsetPreferredSize(new Dimension(X, Y));を使用している場合は、次のように使用することをお勧めします。

setLocation(dim.width/2-this.getPreferredSize().width/2, dim.height/2-this.getPreferredSize().height/2);

1
user7205283

Net Beans GUIの場合 - jframe(ナビゲーターでは右クリック on jFrame)プロパティの下のコードフォームサイズポリシープロパティ選択サイズ変更コードを生成します。同じウィンドウで、位置の生成を取り消すおよびティックサイズを生成and Center.

プログラミングを楽しんでください。ラマナ

0
K V Ramana

Java Swingの場合:

「ナビゲータ」に移動->「JFrame」->「プロパティ」->「コード」->生成センターをチェック

0
Carlos Maemo