У меня динамический пользовательский интерфейс java Swing form, размер которого нужно изменить при нажатии кнопки переключения. Компоненты внутри панели формы должны быть удалены или добавлены, а высота соответственно уменьшена / увеличена.
Cardlayout позволяет мне переключаться между двумя панелями с разными компонентами, но высота привязана к самой высокой карте. Мне нужно динамически удалять компоненты качелей и уменьшать высоту внутренних панелей, а также всей главной панели.
Использование Grouplayout с setHonorsVisibility (true) также не работает, если не будет заново создана вся иерархия макета. Нет способа избавиться от промежутков между скрытыми компонентами.
BoxLayout может работать, но с контейнером box будет сложно расположить элементы формы для правильного выравнивания. Так что я не пробовал.
Я бы хотел работать с Netbeans GUI Builder, если это возможно, но по умолчанию GroupLayout не работает для меня. Так что, глядя на другие шаблоны проектирования / стратегии, чтобы решить эту проблему.
Я бы не хотел вручную устанавливать предпочтительные размеры на вложенных панелях.
Как люди справляются с переупаковкой интерфейса после удаления компонентов?