Ключом к распределению компонентов в контейнере в Swing является Layout Manager . Есть различные типы там. Чтобы сделать то, что вы ищете, вы можете рассмотреть GridLayout
. Это довольно легко настроить. Сначала вам нужно создать макет. Следующее создаст двухколонный макет с таким количеством строк, которое вы укажете:
GridLayout gl = new GridLayout(0,2);
Затем вы применяете его к своей панели:
JPanel panel = new JPanel(gl);
Затем вы добавляете свои предметы:
panel.add(textfield1);
panel.add(button1);
panel.add(textfield2);
panel.add(button2);
GridLayout будет обрабатывать переход от строки к строке после заполнения столбцов компонентами.