5

GridLayout を完全に埋めないと、指定した行数と列数が守られないことがありますか?

3 行 4 列の GridLayout を作成しています。ただし、追加するコンポーネントは 9 つだけです。最終的に、これらの 9 つのコンポーネントが 3x4 グリッドではなく 3x3 グリッドに表示されます (3 行目に 1 つのコンポーネントのみ (および 2 つの空白))。

4

2 に答える 2

31

3x4 グリッドではなく (3 行目に 1 つのコンポーネントのみ (および 2 つの空白))。

次に、次を使用して GridLayout を作成する必要があります。

setLayout(new GridLayout(0,4)); 

行数がわからないが、4列が必要であることをレイアウトに伝えます。したがって、次の行に移動する前に列がいっぱいになります。

空のコンポーネントは必要ありません。

于 2011-04-14T00:07:18.647 に答える
4

空のセルに空のアイテム( a などJLabel)を入力するだけです。例:

class MyFrame extends JFrame
{
    MyFrame()
    {
        setLayout(new GridLayout(3,4));

        for (int i = 0; i < 9; ++i)
            this.getContentPane().add(new JLabel(""+i));
        for (int i = 0; i < 3; ++i)
            getContentPane().add(new JLabel());

        pack();
        setVisible(true);
    }
}

これはそれらを次のようにレイアウトします

0 1 2 3
4 5 6 7
9    
于 2011-04-13T20:10:02.273 に答える