swingのレイアウトを上下中央に揃える方法は?
Swingのレイアウトで、BoxLayoutを使用することで上下の配置を実現することができます。
最初に、コンテナとしてJPanelを作成し、そのレイアウトマネージャーをBoxLayoutに設定します。
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
その後、JLabelやJTextFieldなど、上下に整列が必要なコンポーネントを作成し、コンテナに追加します。
JLabel label = new JLabel("Label");
JTextField textField = new JTextField(10);
panel.add(label);
panel.add(textField);
デフォルトでは、BoxLayoutはコンポーネントを垂直方向に中央揃えしますが、上下に揃えるには、コンポーネントの配置方法を設定することで実現できます。setAlignmentXメソッドを使用してコンポーネントの水平配置を設定し、setAlignmentYメソッドを使用してコンポーネントの垂直配置を設定します。
例えば、コンポーネントを垂直方向に整列させるためには、以下のコードを使用することができます:
label.setAlignmentY(Component.TOP_ALIGNMENT);
textField.setAlignmentY(Component.TOP_ALIGNMENT);
最後に、コンテナをウィンドウに追加して表示します。
JFrame frame = new JFrame();
frame.add(panel);
frame.pack();
frame.setVisible(true);
こうすることで、上下の配置が揃いました。