簡體   English   中英

MigLayout只在最后一行增長

[英]MigLayout grow only last row

我想只增長面板中的最后一個組件來填充剩余的垂直空間。

我目前有:

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

在每個組件之后添加填充以填充剩余的垂直空間。 有沒有辦法告訴MigLayout不添加填充並增長最后一行?

最后一行是停靠的,可以改變任何東西:

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

哦,還有一件事我忘了提及(這可能很重要)在編譯時不知道行的數量。

我通過添加組件約束來解決這個問題: height :100%:並刪除了filly布局約束。

我的理解是,它告訴組件它沒有最小尺寸,並且首選大小是它的容器的100%。 這意味着它將占用盡可能多的空間。

因此,當您使用大小約束時:pref:我相信它會說“達到指定的大小”

當你做min::我認為這解析為“至少指定的大小”?

看起來碼頭確實有所作為,用強大的增長單元格約束替換它(並且在布局約束中沒有任何小號)工作正常。 如果你可以在沒有碼頭的情況下住,可能是一個選擇:

panel.add(new JScrollPane(new JTable(8, 5)), "span, pushy, growy");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM