GridLayout を完全に埋めないと、指定した行数と列数が守られないことがありますか?
3 行 4 列の GridLayout を作成しています。ただし、追加するコンポーネントは 9 つだけです。最終的に、これらの 9 つのコンポーネントが 3x4 グリッドではなく 3x3 グリッドに表示されます (3 行目に 1 つのコンポーネントのみ (および 2 つの空白))。
GridLayout を完全に埋めないと、指定した行数と列数が守られないことがありますか?
3 行 4 列の GridLayout を作成しています。ただし、追加するコンポーネントは 9 つだけです。最終的に、これらの 9 つのコンポーネントが 3x4 グリッドではなく 3x3 グリッドに表示されます (3 行目に 1 つのコンポーネントのみ (および 2 つの空白))。
3x4 グリッドではなく (3 行目に 1 つのコンポーネントのみ (および 2 つの空白))。
次に、次を使用して GridLayout を作成する必要があります。
setLayout(new GridLayout(0,4));
行数がわからないが、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