JFrame に 5 つのボタンを配置しようとしています。4 つのボタンを最初の行に配置し、5 つ目のボタンを 2 番目の行に配置する必要があります。しかし、ここではすべてのボタンが 1 行に表示され、5 番目のボタンの半分がパネルの外に出ています。ちなみにframe.pack();を使うと 私のフレームは私が思っていたよりも小さくなりました。フレームのサイズを変更したくありません。2 行目の 5 番目のものを探します。
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.*;
public class test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setBounds(100, 100, 529, 300);
frame.getContentPane().setLayout(new GridLayout(1, 0, 0, 0));
JPanel panel = new JPanel();
frame.getContentPane().add(panel);
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
JButton btnNewButton_4 = new JButton("New button");
panel.add(btnNewButton_4);
JButton btnNewButton_3 = new JButton("New button");
panel.add(btnNewButton_3);
JButton btnNewButton = new JButton("New button");
panel.add(btnNewButton);
JButton btnNewButton_1 = new JButton("New button");
panel.add(btnNewButton_1);
JButton btnNewButton_2 = new JButton("New button");
panel.add(btnNewButton_2);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}