Насколько я знаю, ни один Swing LayoutManager (из JRE или с открытым исходным кодом) не может охватывать несколько панелей.
В настоящее время я работаю над такой функцией (которую я назвал "синхронизацией макетов") для моего DesignGridLayout проекта, но его не так-то просто реализовать (я начал около 2 недель назад и до сих пор не знаю точно, когда и когда я доберусь до чего-то интересного, но у меня все еще большая надежда на это; -))
Один из вариантов, который вы могли бы проверить, - добавить все компоненты на одну панель (затем только с одним GroupLayout) и скрыть / показать их в зависимости от выбора пользователя. Надеемся, что GroupLayout адаптирует размер к ситуации (после вызова pack ()).
Если GroupLayout ведет себя хорошо, то будет просто вызывать метод pack () каждый раз, когда пользователь изменяет свой выбор, чтобы показать / скрыть расширенные поля.
В противном случае вам придется вручную устанавливать размер панели каждый раз, когда пользователь изменяет свой выбор.