Я ищу LayoutManager
, который позволил бы мне показать набор компонентов в контейнере (например, JPanel) в столбцах примерно следующим образом.
- Ширина контейнера является входным ограничением.
- Предпочтительная высота контейнера является функцией ширины и может быть:
- минимальная высота, необходимая для размещения компонентов по ширине, если они размещены более чем в одном столбце.
- минимальная высота, необходимая для размещения компонентов в одном столбце.
- Компоненты будут размещены в порядке столбцов газет, сверху вниз, а затем слева направо.
Вот пример (низкотехнологичное отображение текста), показывающий 13 компонентов. Если бы они могли поместиться в 3 столбца, они бы выглядели так:
Foo1 Foo6 Foo11
Foo2 Foo7 Foo12
Foo3 Foo8 Foo13
Foo4 Foo9
Foo5 Foo10
Если бы это было слишком широко, они бы выглядели так:
Foo1 Foo8
Foo2 Foo9
Foo3 Foo10
Foo4 Foo11
Foo5 Foo12
Foo6 Foo13
Foo7
А если это слишком широко, они бы выглядели так:
Foo1
Foo2
Foo3
Foo4
Foo5
Foo6
Foo7
Foo8
Foo9
Foo10
Foo11
Foo12
Foo13
Существует ли уже существующий LayoutManager, который я могу использовать или создать подкласс, чтобы сделать что-то подобное?
edit: это очень близко к этот другой вопрос о вертикальной компоновке , но эта компоновка имеет высоту компонента, являющуюся ограничением, а моя - шириной компонента, являющейся ограничением.