Я решил эту проблему без проблем. (Моя панель с вкладками наследуется в другой панели, если она играет какую-либо роль)
tabbedPane.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
switch (tabbedPane.getSelectedIndex()) {
case 0:
tabbedPane.setPreferredSize(new Dimension(1, 230));
break;
case 1:
tabbedPane.setPreferredSize(new Dimension(1, 330));
break;
case 2:
tabbedPane.setPreferredSize(new Dimension(1, 430));
break;
}
}
});
и, конечно, когда я создаю свой jtabbedpane:
tabbedPane.setPreferredSize(new Dimension(1, 230));
Я перекрашиваю-заново проверяю обе jtabbed / parentpanel обе после этого, но по другим причинам ... Кажется, это работает, даже не вызывая repain / revalidate ни на одной из панелей.
Предварительный просмотр (красная рамка = другая панель)