私は自分のメイン フレームと、誰かがメニュー項目を選択したときにポップアップする 2 つの JDialogs を持っています。画面のフレーム/ダイアログの左上隅を中央に配置するためです。フレームとダイアログの両方の中心を画面の中央に配置するにはどうすればよいでしょうか? 前もって感謝します !
5 に答える
3
これらを順番に実行します。
1)表示するフレーム/ダイアログでpack()
orsetSize(...)
を呼び出します (この時点でコンポーネントが既に追加されているはずです)。
2) 次に、setLocationRelativeTo(null)
そのコンテナを呼び出します。setLocationRelativeTo(parent)
または、親がオフセットされていて、ダイアログを現在の位置で親内の中央に配置する場合は、呼び出すことができます。
3) 次に、電話するsetVisible(true)
于 2013-08-10T18:35:59.780 に答える
2
私はそれが役立つと思います:
frame.setLocationRelativeTo(null);
通常はnull
引数として a を入れますが、 type の引数を入れることもできます。常に画面の中央に表示されるのでComponent
、私はそれを好みます。JOptionPane
frame.setLocationRelativeTo(new JOptionPane());
//OR
frame.setLocationRelativeTo(JOptionPane.getRootFrame());
null
そして、レイアウト(絶対配置)を使用しないでください。常に使用してLayoutManagers
ください。
于 2013-08-10T18:29:39.540 に答える
2
setLocationRelativeTo(null)
まだサイズがない場合、Dialog
たとえば..pack()
setLocationRelativeTo
小さな例:
JFrame testFrame = new JFrame();
JButton testButton = new JButton();
testButton.setPreferredSize(new Dimension(500, 500));
testFrame.add(testButton);
testFrame.pack();
testFrame.setLocationRelativeTo(null);
testFrame.setVisible(true);
これにより、中心が画面の中心にあるフレームが表示されます。
于 2013-08-10T18:31:23.087 に答える
1
このヘルパー メソッドを使用して、JFrame または JDialog を中央に配置します。
public static Window centerFrame(Window win) {
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
win.setLocation((int) ((dim.getWidth() - win.getWidth()) / 2), (int) ((dim.getHeight() - win.getHeight()) / 2));
return win;
}
于 2013-08-10T18:24:35.550 に答える