相关疑难解决方法(0)

Swing:列流布局管理器?

我正在寻找一个LayoutManager允许我在一个容器(例如JPanel)中显示一组组件的列,大致如下.

  • 容器的宽度是输入约束.
  • 容器的首选高度是宽度的函数,并且是:
    • 当布置在多个列中时,使组件适合宽度所需的最小高度.
    • 使组件适合单列所需的最小高度.
  • 组件将按报纸列顺序排列,从上到下,然后从左到右.

这是一个显示13个组件的示例(低科技文本显示).如果它们可以放在3列中,它们看起来像这样:

Foo1    Foo6     Foo11   
Foo2    Foo7     Foo12
Foo3    Foo8     Foo13
Foo4    Foo9     
Foo5    Foo10
Run Code Online (Sandbox Code Playgroud)

如果它太宽,它们看起来像这样:

Foo1    Foo8 
Foo2    Foo9  
Foo3    Foo10 
Foo4    Foo11 
Foo5    Foo12
Foo6    Foo13
Foo7    
Run Code Online (Sandbox Code Playgroud)

如果它太宽,它们看起来像这样:

Foo1     
Foo2      
Foo3     
Foo4     
Foo5    
Foo6    
Foo7    
Foo8
Foo9
Foo10
Foo11
Foo12
Foo13
Run Code Online (Sandbox Code Playgroud)

是否有可以使用的预先存在的LayoutManager或子类来执行此类操作?


编辑:这非常接近关于垂直布局的另一个问题,但是该布局将组件高度作为约束,并且我的组件宽度是约束.

java swing layout-manager

5
推荐指数
1
解决办法
4097
查看次数

标签 统计

java ×1

layout-manager ×1

swing ×1