Вы не можете расширить существующий класс Accordion Layout для достижения того, что вы ищете. Если вы просмотрите исходный код, вы заметите, что макет Accordion создается путем расширения FitLayout. Теперь я процитирую свойство FitLayout, описанное в документации:
Это базовый класс для макетов, которые
содержать один элемент, который
автоматически расширяется, чтобы заполнить
контейнер макета.
В документации также сказано:
Если контейнер имеет несколько панелей,
будет отображаться только первый.
Теперь спрашивающий спрашивает, чтобы отображались две панели одновременно. Что просто невозможно с любым макетом, выходящим из FitLayout.
Другие вопросы:
Есть некоторые проблемы проектирования с компонентом, который планирующий внедрить;
- Как насчет места, которое займут отображаемые в данный момент панели?
- Как будет работать поведение аккордеона? Когда пользователь пытается получить доступ к третьей панели ... как ведут себя открытые в данный момент панели.
Возможное решение:
Теперь одно из возможных решений - расширить Panel с помощью макета vbox и включить в нее все панели.