[英]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.