在我的JPanel
中,我有6个按钮连续排列(截至目前使用FlowLayout
)。面板的默认大小足以容纳一行中的这些按钮。但是,当frame
调整大小时,它会卡在每个按钮最小尺寸总和的大小上。
我需要一个布局管理器,只需在重新调整面板大小时将按钮放在新行中。 我对Java Swing很陌生,所以如果这是一个微不足道的问题,我会提前道歉。
答案 0 :(得分:3)
MigLayout是迄今为止我用过的最好的布局管理器。过去需要嵌套容器和许多难以理解的代码的东西可以在一个容器中完成,只需简单易懂(和维护)字符串约束。
答案 1 :(得分:2)
流程布局能够实现您期望的行为(如果组件不适合,则将组件移动到新行中)。查看swing tutorial(运行FlowLayoutDemo)。您必须向我们展示您的源代码,以确定是否存在阻止它的其他约束。
答案 2 :(得分:0)
FlowLayout实际上会在新行上绘制组件,但问题是面板的首选大小没有变化,因此在很多情况下您无法看到组件(除非您碰巧添加了面板到BorderLayout的CENTER。)
一种解决方案是使用Wrap Layout,它扩展了FlowLayout以重新计算面板的首选大小,以便您看到新行上的按钮。