我正在寻找一个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 我可以使用或子类来做这样的事情?
编辑:这与关于垂直布局的其他问题非常接近,但是该布局的组件高度是约束,而我的组件宽度是约束。