Как установить размер компонента с помощью GridLayout? Есть ли способ лучше?

Я работаю над большим графическим интерфейсом на Java, и меня раздражают менеджеры компоновки.

У меня есть «Панель настроек» с переменным количеством JComponents в ней (ярлыки, кнопки, JSpinners) , JSliders, ...). Мне просто нужно следующее:

JLabel <-> JComponent

JLabel <-> JComponent

JLabel <-> JComponent

...

Моя панель имеет размер 500 пикселей, так что на ней достаточно места для множества компонентов. К сожалению, GridLayout всегда растягивает размер компонентов на всю панель, даже если я устанавливаю MaximumSize для каждого компонента. Это выглядит глупо, если есть только две кнопки высотой 250 пикселей каждая.

Я пробовал макет потока, но не могу придумать, как правильно создавать новые линии. Я пробовал BoxLayout.Y_AXIS, но Компоненты всегда центрированы, а Метка и Компонент не находятся в одной строке.

Кто-нибудь знает хороший и короткий способ с помощью LayoutManager справиться с этим должным образом?

10
задан jzd 15 January 2011 в 13:56
поделиться