Java Swingでオブジェクトを垂直に配置する方法


  1. BoxLayoutを使用する方法:
import javax.swing.*;
import java.awt.*;
public class VerticalBoxLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("垂直配置の例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

        panel.add(new JButton("ボタン1"));
        panel.add(new JButton("ボタン2"));
        panel.add(new JButton("ボタン3"));

        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}
  1. GridBagLayoutを使用する方法:
import javax.swing.*;
import java.awt.*;
public class VerticalGridBagLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("垂直配置の例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel panel = new JPanel(new GridBagLayout());
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = 0;
        gbc.gridy = GridBagConstraints.RELATIVE;
        gbc.anchor = GridBagConstraints.NORTH;
        gbc.insets = new Insets(5, 5, 5, 5);

        panel.add(new JButton("ボタン1"), gbc);
        panel.add(new JButton("ボタン2"), gbc);
        panel.add(new JButton("ボタン3"), gbc);

        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}
  1. GroupLayoutを使用する方法:
import javax.swing.*;
public class VerticalGroupLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("垂直配置の例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        GroupLayout layout = new GroupLayout(frame.getContentPane());
        frame.getContentPane().setLayout(layout);

        layout.setAutoCreateGaps(true);
        layout.setAutoCreateContainerGaps(true);

        GroupLayout.SequentialGroup vGroup = layout.createSequentialGroup();
        vGroup.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                .addComponent(new JButton("ボタン1"))
                .addComponent(new JButton("ボタン2"))
                .addComponent(new JButton("ボタン3")));

        layout.setVerticalGroup(vGroup);

        frame.pack();
        frame.setVisible(true);
    }
}

これらはいくつかの一般的な方法であり、他にもさまざまな方法があります。ご希望のレイアウト方法に応じて、適切な方法を選択してください。