3

我只想增加面板中的最后一个组件来填充剩余的垂直空间。

我目前有:

panel.setLayout(new MigLayout("inset 0, filly", "[grow, fill, right][grow, fill, left]"));

在每个组件之后添加填充以填充剩余的垂直空间。有没有办法告诉 MigLayout 不要添加填充并增长最后一行?

最后一行停靠以防发生任何更改:

panel.add(new JScrollPane(getTable()), "newline, dock south");

哦,还有一件事我忘了提(这可能很重要)行数在编译时是不知道的。

4

2 回答 2

2

看起来码头确实有所作为,用积极增长的单元格约束(并且布局约束中没有小马)代替它可以正常工作。如果您可以在没有码头的情况下生活,可能是一个选择:

panel.add(new JScrollPane(new JTable(8, 5)), "span, pushy, growy");
于 2013-06-26T13:11:37.977 回答
2

我已经通过添加组件约束来解决这个问题:height :100%:并删除filly布局约束。

我的理解是,这告诉组件它没有最小尺寸,首选尺寸是其容器的 100%。这意味着它将占用尽可能多的空间。

因此,当您确实使用尺寸约束时,:pref:我相信它是在说“达到指定的尺寸”

当你这样做时,min::我认为这可以解决“至少指定的大小”?

于 2013-06-26T11:10:18.390 回答