0

我最近决定开始使用 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++;
    }

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

4

1 回答 1

4

来自 Java 文档

rows 和 cols 中的一个(但不是两个)可以为零,这意味着可以将任意数量的对象放置在一行或一列中。

现在,如果没有你的实际代码设置GridLayout,很难说,但是,如果你只维护 4 列之后,我会创建一个GridLayout如下,new GridLayout(0, 4)

如果您想要更灵活的东西,请查看GridBagLayout

于 2012-11-10T19:27:07.930 回答