3
我是MigLayout的新手。我试图创建一个类似的布局:是否有可能“重置”MigLayout
有一排等间隔的按钮,然后用列表的行跨越所有的列和增长来填补现有的垂直空间,然后是最后一行,再加上一些控制。
我能得到前两行没有太大的困难。
然而,当我在最后加上行的内容,MigLayout(理所当然),尝试保留前两行的列。我留下了这样的事情:
在最后一排的标签和微调延长列的宽度和我留下的最上面一行间隙不均匀。
是否有某种方式来告诉MigLayout,我想了解到目前为止,并建立了行/列忘记“重新开始”,或者是这里的解决方案来创建一个嵌套的布局?
下面是一个完整的示例面板。
public class TestPanel extends JPanel {
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");
JButton button3 = new JButton("Button 3");
JButton button4 = new JButton("Button 4");
JButton button5 = new JButton("Button 5");
JList list = new JList(new String[]{"some", "fake", "data"});
JLabel label = new JLabel("this is my long label");
JSpinner spinner = new JSpinner();
JCheckBox checkbox = new JCheckBox("Check me");
public TestPanel() {
initComponents();
}
private void initComponents() {
setLayout(new MigLayout());
add(button1);
add(button2);
add(button3);
add(button4);
add(button5, "wrap");
add(list, "span, growx, growy, wrap");
// without these 3 lines, the row of buttons are equally spaced
// adding the long label extends the width of the first column
add(label);
add(spinner);
add(checkbox, "span, align right");
}
}
不错 - 但我不能重现错误行为你描述(至少不是你的代码段) – kleopatra
我加满示例及其运行的截图。我不认为这是一种不当行为 - 只是我没有正确使用它。 – zmb
意味着错误 - 与您的期望不同:-)感谢您的完整示例,没有尝试过长标签 – kleopatra