有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java GridLayout列

我最近决定开始使用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) 个答案

  1. # 1 楼答案

    来自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