我正在寻找一种简单的方法来处理以下问题:
所有 A 类物品应水平放置。所有 B 类物品应垂直布置。因此,例如:
AAA 乙 AA 乙 乙 AAAAAA
B 类项目将是具有相同行为的容器,因此整个事物将嵌套任意数量的深度。
有没有一种直接的方法来完成这个而不在 A 的集合周围放置一个容器?
您可以使用GridLayout
在它的行中排列 A,在它的列中排列 B。
将 A 添加到 JPanel (GridLayout(1,0))
将 B 添加到 JPanel (GridLayout(0,1))
将每个 A 和 B 面板添加到 holdingPanel (BoxLayout(Y_AXIS))
如果你搜索一下,你会发现一个 VerticalFlowLayout。正如我所见,您需要的是自定义布局管理器,因为您必须处理 FlowLayout 和 VarticalFlowLayout 混合。
您必须覆盖/实现基本方法:在此处描述
我会将数据存储在二维数组/列表中作为行和列。重写 addLayoutComponent 和 removeLayoutComponent 是必须的。
我希望它有帮助!