我最近决定开始使用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++;
}
当我运行上面的代码时,我得到四列,它工作正常。但是当我添加一个按钮到最后,我得到五个。谁能告诉我如何给整个行按一个按钮?
答案 0 :(得分:4)
来自Java Docs
行和列中的一个但不是两个都可以为零,这意味着任何行 对象数量可以放在一行或一列中。
现在,如果没有您的实际代码设置GridLayout
,很难说,但是,如果您仅维护4列后,我会按如下方式创建GridLayout
,{{1} }
如果您想要更灵活的内容,请查看new GridLayout(0, 4)