11.3布局管理器补充 GridLayout

来源:互联网 发布:ppt数据分析图表对比 编辑:程序博客网 时间:2024/05/22 14:56
> > 11.3.3 GridLayout布局管理霖
    GridLayout布局管理器将容器分割成纵横线分割的网格,每个网格所占的区域大小相同。当向使用GridLayout的容器中添加组件时,默认从左向右、从上向下依次添加到每个网格中。与F1owLayout不同的是,放在GridLayout布局管理器中的各组件的大小由组件所处的区域来决定(每个组件将自动涨大到占满整个区域)。
GridLayout有如下两个构适器:
》GridLayout(int rows,int cols):采用指定行数、列数、默认横向间距、纵向间距将容器分割成多个网格。
》GridLayout(int rows,int cols,int hgap,int vgap):采用指定行数、列数、指定横向间距、纵向间距将容器分割成多个网格。
如下程序结合BorderLayout和GridLayout开发了一个计算器的可视化窗口:
程序清单:codes/11/11-3/TestGridLayout.Java
public class TestGridLayout {

public static void main(String[] args) {
 Frame f = new Frame("计算器UI");
 Panel p1 = new Panel();
 Panel p2 = new Panel();
 p1.add(new TextField(30)); //输出窗口  
 f.add(p1,BorderLayout.NORTH); //把p1容器放在北上角
 f.add(p2);
 p2.setLayout(new GridLayout(3,3,4,4));
 String[] name = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/","."};
//向Panel中依次添加15个按钮
 for(int i=0;i<name.length;i++){
 p2.add(new Button(name[i]));
 }
 f.pack();
 f.setVisible(true);
}

}
运行如下:









0 0