По какой-то причине макеты не хотят работать внутри JTabbedPane. Вместо того, чтобы перетекать на следующую «строку», он просто действует так, как если бы у него было бесконечное горизонтальное пространство :( Однако добавление всего непосредственно в кадр без JTabbedPane работает нормально...
В моем кадре:
JTabbedPane tabs = new JTabbedPane(JTabbedPane.TOP);
this.getContentPane().add(this.tabbedPane);
JPanel tab = new TestTab();
tabs.add("Test", tab)
И мой конструктор TestTab (расширяет JPanel)
contentBox = new Box(BoxLayout.Y_AXIS);
JPanel groupPanel = new JPanel();
groupPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
groupPanel.setBorder(BorderFactory.createTitledBorder("Group"));
//add some paired items to it. The intention is each of these "sub groups"
//should stay together,with the sub groups themselves being liad out left to
//right, top to bottom
for(int i=0; i<10; ++i)
{
String label = "Button " + i;
Box itemBox = new Box(BoxLayout.X_AXIS);
JButton buttonA = new JButton(label + " A");
JButton buttonB = new JButton(label + " B");
itemBox.add(buttonA);
itemBox.add(buttonB);
groupPanel.add(itemBox);
}
contentBox.add(groupPanel);
//will be more content stuff to be added vertically below,
//suppose will have same issue
this.add(contentBox);