0

FlowLayoutはややアマチュアに見えるので、最近GridLayoutを使い始めることにしました。しかし、助けが必要です。GridLayout を作成するときのパラメータは (rows,columns,row space,column space) です。行量用の変数と列量用の 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 つの列が表示され、正常に動作します。しかし、最後にボタンを追加すると、5 つになります。1つのボタンに行全体を与える方法を誰か教えてもらえますか?

4

1 に答える 1

4

Java ドキュメントから

rows と cols の両方ではなく、一方をゼロにすることができます。これは、行または列に任意の数のオブジェクトを配置できることを意味します。

さて、実際のコードがないと を設定するGridLayoutとは言い難いですが、4 つの列のみを維持した後、次のように を作成GridLayoutします。new GridLayout(0, 4)

より柔軟なものが必要な場合は、調べてくださいGridBagLayout

于 2012-11-10T19:27:07.930 に答える