Java Swing布局取决于孩子?

时间:2013-01-04 21:09:15

标签: java swing layout

我正在寻找一种直接处理以下方式的方法:

所有A类物品都应水平放置。 所有B型物品都应垂直布置。所以,例如:

AAA
B
AA
B
B
AAAAAA

B类项目将是具有相同行为的容器,因此整个事物将嵌套任意数量的级别。

有没有一种直接的方法来实现这一点,而不是在A的集合周围放置一个容器?<​​/ p>

3 个答案:

答案 0 :(得分:2)

您可以使用GridLayout在其行中排列A,在其列中排列B。

答案 1 :(得分:1)

如果你搜索一下,你会发现一个VerticalFlowLayout。我看到你需要的是一个自定义布局管理器,因为你必须处理FlowLayout和VarticalFlowLayout混合。

您必须覆盖/实施基本方法:described here

我将数据存储在二维数组/列表中作为行和列。 必须覆盖addLayoutComponent和removeLayoutComponent。

我希望它有所帮助!

答案 2 :(得分:1)

将A添加到JPanel(GridLayout(1,0))

将B添加到JPanel(GridLayout(0,1))

将每个A和B面板添加到holdingPanel(BoxLayout(Y_AXIS))