1、如果网格布局对象未指定具体的“行数”和“列数”,那么它将拥有1行和动态的列数。
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout; public class TestGridLayout { public static void main(String[] args) { Frame f = new Frame("TestGridLayout" );
GridLayout gl = new GridLayout(); //创建无参的网格布局对象 Button bt1 = new Button("bt1" );
Button bt2 = new Button("bt2" );
Button bt3 = new Button("bt3" );
Button bt4 = new Button("bt4" );
//Button bt5 = new Button("bt5" ); // 添加组件到容器
f.add(bt1);
f.add(bt2);
f.add(bt3);
f.add(bt4);
//f.add(bt5); f.setLayout(gl); // 设置网格布局
f.setSize(400, 300); // 设置窗口大小
f.setVisible( true); // 设置窗口为可见 }
}
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列。
如果在阅读过程中发现了一些错误的地方,请不要吝啬您的评论。希望能和大家共同进步!谢谢!