我試圖佈局組件並希望以特定方式設置寬度。據我所知,miglayout設置寬度,如「寬度最小:前:最大」。所以,在我的情況,我想以下幾點:使用miglayout設置寬度
我的問題是與COMP2。它停止增長大約200px後,我不明白爲什麼,因爲我沒有指定最大寬度。
我也檢查了miglayout擺動演示,但他們沒有我那裏的確切情況。他們有一個無限寬度,但沒有指定最小寬度。
爲了確保面板展開,我將面板的背景設置爲灰色,並且我可以看到它展開時沒有任何問題。
請告訴我,如果有什麼需要澄清,我會很樂意嘗試解釋更好。
編輯:這裏是一個SSCCE
import java.awt.Color;
import javax.swing.*;
import net.miginfocom.swing.MigLayout;
public class SSCCE {
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel(new MigLayout(
"",
"[grow, fill]",
""));
panel.setBackground(Color.LIGHT_GRAY);
JButton comp1 = new JButton("Comp1");
JButton comp2 = new JButton("Comp2");
JButton comp3 = new JButton("Comp3");
panel.add(comp1, "width 50:150:150, growx");
panel.add(comp2, "growx");
panel.add(comp3, "width 50:70:70, growx");
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
我不會成長,但我想它採取一切可用的空間,而事實並非如此。它可以與面板上的設置有關嗎?
編輯2:有了這個代碼:
panel.add(comp1, "width 50:150:150");
panel.add(comp2, "width 10:n:n");
panel.add(comp3, "width 50:70:70, right");
我得到這個:
但我想中間的組件佔用全部可用空間。
_stops後約200px_增長無法重現:所有的增長(在結尾部分是同樣大小的)最好的證明演示行爲 – kleopatra
現在我已經加入了一個SSCCE SSCCE。任何幫助表示讚賞。 :) – Goatcat
不太明白爲什麼你讓所有的列增長,如果你只想讓其中一個佔據多餘的空間 – kleopatra