Вы хотите разделить компоненты вручную на несколько строк?Таким образом, вы знаете, где вы хотите, чтобы перенос строки был.
В этом случае я бы использовал 3 панели:
- 1 панель, содержащая другие 2 панели с GridLayout с 1 столбцом
- 2 панели внутри GridLayout, каждая с FlowLayout
Пример кода:
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
{
panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.NORTH);
panel.setLayout(new GridLayout(0, 1, 0, 0));
{
panel_1 = new JPanel();
panel.add(panel_1);
{
lblPanelFlowlayout = new JLabel("Panel 2: FlowLayout");
panel_1.add(lblPanelFlowlayout);
}
}
{
panel_2 = new JPanel();
panel.add(panel_2);
{
lblPanel = new JLabel("Panel 3: FlowLayout");
panel_2.add(lblPanel);
}
}
}
Вы можете добавить столько новых панелей с FlowLayout, сколько захотите.Каждый раз, когда вы выполняете BR, вы теперь устанавливаете следующую панель как активную (возможно, создаете ее динамически).