Вложенная проблема изменения размеров JPanel
Вопрос
У меня есть два JPanel (назовем их Panel1 и Panel2). Эти панели имеют одинаковую ширину, но разной высоты. Р>
Я хочу поместить эти JPanel в один большой JPanel (назовем его Panel0) и расположить их друг над другом (я решил установить макет Panel0 как GridLayout (0,1)).
Проблема в том, что обе вложенные панели (панели 1 и 2) имеют одинаковые размеры (самые большие между двумя), а не setPreferredDimension и setDimension, которые я им установил.
Извините, я не могу предоставить какой-либо код (к панели добавлено много дерьма, и все это связано с работой). Любой совет? Спасибо!
Решение
GridLayout
заставляет все компоненты иметь одинаковый размер; вот почему это называется сеткой.
Поскольку у вас есть только две панели, я бы предложил использовать BorderLayout
с одной панелью в NORTH
, а другой - CENTER
. Если вы разрешите изменение размера, то в CENTER
будет развернуто расширение для заполнения любого дополнительного вертикального пространства, так что просто помните об этом.