我试图布局组件并希望以特定方式设置宽度。据我所知,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