コンポーネントをレイアウトするときに、特定の方法で幅を設定したいとします。私が理解していることから、miglayoutは "width min:pref:max"のような幅を設定します。だから、私の場合は、次のことをしたい:miglayoutで幅を設定する
私の問題は、COMP2です。私は最大幅を指定していないので、約200ピクセル後に成長が止まり、理由を理解できません。
私はmiglayout swingのデモもチェックしましたが、そこに私の正確なケースはありません。幅は無制限ですが、指定できる最小幅はありません。
パネルを拡大するには、パネルの背景を灰色に設定して、問題なく拡大することがわかります。
明確にする必要がある場合は教えてください。私は喜んで説明してください。
EDIT:ここ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);
}
}
私が育つんですが、私はそれが可能なすべてのスペースを取りたい、そしてそれはしていません。それはパネル上の設定と関係がありますか?
EDIT 2:このコードで:
しかし、私は真ん中のコンポーネントがすべての利用可能なスペースを占有します:
panel.add(comp1, "width 50:150:150");
panel.add(comp2, "width 10:n:n");
panel.add(comp3, "width 50:70:70, right");
は、私がこれを取得します。
_stopsを再現することはできません。すべては、私は今SSCCEを追加した行動 – kleopatra
を示しSSCCEを示すために、(同じ大きさの程度で終わり)ベストを育てます。どんな助けもありがとうございます。 :) – Goatcat
なぜあなたはすべての余分なスペースを取るだけのうち1つをしたい場合は、すべての列を成長させることを理解していない – kleopatra