Java AWT编程 布局管理器(三)GridLayout

GridLayout布局管理器将容器分割成纵横分割的网格,每个网格所占的区域大小相同。当向使用GridLayout布局管理器的容器中添加组件时,默认从左向右、从上向下依次添加到每个网格中。与FlowLayout不同的是,放置在GridLayout布局管理器中的各组件的大小由组件所处的区域来决定(每个组件将自动占满整个区域)

GridLayout有以下两个构造器:

1. GridLayout(int rows, int cols):使用指定的行数、列数,以及默认的横向间距、纵向间距将容器分割成多个网格。

2. GridLayout(int rows, int cols, int hgap, int vgap):使用指定的行数、列数,以及指定的横向间距、纵向间距将容器分割成多个网格。

/**
 * 以下程序结合BorderLayout和GridLayout开发了一个计算器的可视化窗口
 * 程序的Frame采用默认的BorderLayout布局管理器,程序向BorderLayout中只添加了两个组件:
 * NORTH区域添加了一个文本框,CENTER区域添加了一个Panel容器,该容器采用GridLayout布局管理器,Panel容器中添加了15个按钮。
 */
package codes11;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;

public class GridLayoutTest {

	public static void main(String[] args) {
		Frame f = new Frame("计算器");
		Panel p1 = new Panel();
		p1.add(new TextField(30));
		f.add(p1, BorderLayout.NORTH);
		Panel p2 = new Panel();
		// 设置p2使用GridLayout布局管理器
		p2.setLayout(new GridLayout(3, 5, 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.add(p2);
		f.pack();
		f.setVisible(true);
	}

}

运行程序,结果如下图:

Java AWT编程 布局管理器(三)GridLayout_第1张图片

你可能感兴趣的:(Java AWT编程 布局管理器(三)GridLayout)