GridLayout和行数和列数

| 如果您未完全填写GridLayout,是否不会遵守您指定的行数和列数? 我正在创建一个包含3行4列的GridLayout。但是,我只添加9个组件。最后以3x3网格显示了这9个组件,而不是3x4网格(在第三行中只有1个组件(两个空白))。     
已邀请:
只需在空白单元格中填充空白项(例如
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    
    
  而不是3x4的网格(在第三行中只有一个组件(两个空白))。 然后,您应该使用以下方法创建GridLayout:
setLayout(new GridLayout(0,4)); 
它告诉布局您不知道有多少行,但需要4列。因此,在移至下一行之前,各列将被填充。 无需空组件。     

要回复问题请先登录注册