1、如果网格布局对象未指定具体的“行数”和“列数”,那么它将拥有1行和动态的列数。
1 import java.awt.Button; 2 import java.awt.Frame; 3 import java.awt.GridLayout; 4 5 public class TestGridLayout { 6 7 public static void main(String[] args) { 8 9 Frame f = new Frame("TestGridLayout" ); 10 GridLayout gl = new GridLayout(); //创建无参的网格布局对象 11 12 Button bt1 = new Button("bt1" ); 13 Button bt2 = new Button("bt2" ); 14 Button bt3 = new Button("bt3" ); 15 Button bt4 = new Button("bt4" ); 16 //Button bt5 = new Button("bt5" ); 17 18 // 添加组件到容器 19 f.add(bt1); 20 f.add(bt2); 21 f.add(bt3); 22 f.add(bt4); 23 //f.add(bt5); 24 25 f.setLayout(gl); // 设置网格布局 26 f.setSize(400, 300); // 设置窗口大小 27 f.setVisible( true); // 设置窗口为可见 28 29 } 30 }
4个组件的效果:
5个组件的效果:
2、指定行数和列数的网格布局:new GirdeLayout(int rows,int cols);
2_1、如果指定 “行数”为非0,那么“列数”的自定义将被忽略;列数由“组件数”和“行数”决定。
比如:有5个组件,在rows=2,cols=1的网格布局中,将显示为2行3列;
在rows=5,cols=2的网格布局中,将显示5行1列;
2_2、仅在定义行数为0时,列数的定义才会生效。那么,此时行数并不是真的为0行,而是通过“列数”和“组件数”所决定。
比如:有5个组件,在在rows=0,cols=1的网格布局中,将显示为5行1列。
如果在阅读过程中发现了一些错误的地方,请不要吝啬您的评论。希望能和大家共同进步!谢谢!