我有一个容器,其中包含一些未知数量的组件(实际上,这些容器中我也重写了calcPreferredSize以使其具有一致的大小)。由于组件的数量可能>可以容纳在单行中的数量,因此第2行可能会溢出,等等。
我在外部容器上使用FlowLayout,该容器对一行有效。但是第二行是偏移量。
所以我想要的地方:
| .X.X.X。|| .X.X.X。|
我实际上得到了:
| .X.X.X。|| X.X.X .. |
其中X是分量,点是间距,|是容器的侧面。
最佳方法是什么?我假设FlowLayout这样做是因为第2行第一个元素的左侧边距实际上应用在顶部行上,因此没有多余的余量可以将其推离容器边界。
我尝试了GridLayout,但是我发现每行上最右边的X组件已扩展到超出我设置的首选大小。
网格布局将所有内容设置为相同大小。表布局可能是更好的选择。我建议不要覆盖calcPreferredSize()
,而只使用50%作为表列的宽度。
填充和边距就像一个谜题...但是通常可以使用它来获得想要的外观-我只需要做一些思考就可以做到这一点。