GridLayout列

时间:2012-11-10 18:22:57

标签: java swing layout-manager grid-layout

我最近决定开始使用GridLayout,因为FlowLayout似乎有点业余。但是,我需要帮助。创建GridLayout时的参数是(行,列,行空间,列空间)。我有行数量的变量和列数量的4,但是当我尝试在其他所有内容之后添加JButton时,有5列。 这是我的代码:

byte i = 0;
    while(i < main.componentNum)
    {
        comp[i] = new JLabel("component #" + (i+1));
        box[i] = new JComboBox();
        field[i] = new JTextField(5);
        edit[i] = new JButton("edit");

        comp[i].setBackground(Color.WHITE);
        box[i].setBackground(Color.WHITE);
        field[i].setBackground(Color.WHITE);
        edit[i].setBackground(Color.WHITE);

        add(comp[i]);
        add(box[i]);
        add(field[i]);
        add(edit[i]);

        i++;
    }

当我运行上面的代码时,我得到四列,它工作正常。但是当我添加一个按钮到最后,我得到五个。谁能告诉我如何给整个行按一个按钮?

1 个答案:

答案 0 :(得分:4)

来自Java Docs

  

行和列中的一个但不是两个都可以为零,这意味着任何行   对象数量可以放在一行或一列中。

现在,如果没有您的实际代码设置GridLayout,很难说,但是,如果您仅维护4列后,我会按如下方式创建GridLayout,{{1} }

如果您想要更灵活的内容,请查看new GridLayout(0, 4)