我最近决定开始使用 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++;
}
当我运行上面的代码时,我得到四列,它工作正常。但是当我在末尾添加一个按钮时,我得到了五个。谁能告诉我如何给一个按钮一整行?
最佳答案
来自 Java 文档
One, but not both, of rows and cols can be zero, which means that any number of objects can be placed in a row or in a column.
现在,如果没有您的实际代码来设置 GridLayout
,很难说,但是,如果您只维护 4 列,我会创建一个 GridLayout
作为接下来,new GridLayout(0, 4)
如果您想要更灵活的东西,请查看GridBagLayout
关于java - 网格布局列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13324807/