Проблема изменения размера вложенной JPanel

У меня есть две панели JPanel (назовем их Panel1 и Panel2). Эти панели имеют одинаковую ширину, но разную высоту.

Я хочу поместить эти JPanels в одну большую JPanel (давайте назовем ее Panel0) и расположить их друг над другом (я решил установить макет Panel0 как GridLayout(0,1)).

Проблема в том, что обе вложенные панели (панели 1 и 2) в конечном итоге имеют одинаковые размеры (самые большие из двух) вместо setPreferredDimension и setDimension, которые я им установил.

Извините, я не могу предоставить какой-либо код (на панель добавлено много дерьма, и все это для чего-то, связанного с работой). Любой совет? Спасибо!


person Monster    schedule 03.08.2009    source источник


Ответы (1)


GridLayout заставляет все компоненты иметь одинаковый размер; вот почему это называется сеткой.

Поскольку у вас есть только две панели, я бы предложил использовать BorderLayout с одной панелью на NORTH, а другой на CENTER. Если вы разрешите изменение размера, то размер в CENTER будет расширяться, чтобы заполнить любое дополнительное пространство по вертикали, так что просто помните об этом.

person Michael Myers    schedule 03.08.2009
comment
Я наполовину закончил набирать этот же ответ. GridLayout - это проблема. - person thedude19; 03.08.2009