Вы можете использовать FlowLayout, GridLayout или BorderLayout. В моем опыте создания графического интерфейса в Java, я в основном использую комбинации BorderLayouts (большую часть времени) и GridLayouts.
Основы макета
Если вы хотите, чтобы это выглядело как
код:
public void initComponents() {
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
setLayout(new java.awt.GridLayout(0, 1));
jButton1.setText("jButton1");
add(jButton1);
jButton2.setText("jButton2");
add(jButton2);
jButton3.setText("jButton3");
add(jButton3);
jButton4.setText("jButton4");
add(jButton4);
}