博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GridLayout的使用
阅读量:3591 次
发布时间:2019-05-20

本文共 2057 字,大约阅读时间需要 6 分钟。

GridLayout的使用:
GridLayout的类层次结构图:
java.lang.Object        --java.awt.GridLayout

GridLayout比FlowLayout多了行和列的设置,也就是说你要先设置GridLayout共有几行几列,就如同二维平面一般,然后你加 进去的组件会先填第一行的格子,然后再从第二行开始填,依此类扒,就像是一个个的格子一般。而且GridLayout会将所填进去组 件的大小设为一样。

构造函数:

GridLayout()建立一个新的GridLayout,默认值是1行1列。

GridLayout(int rows,int cols)建立一个几行几列的GridLayout.
GridLayout(int rows,int cols, int hgap,int vgap)建立一个几行几列的GridLayout,并设置组件的间距。

例子:GridLayoutDemo.java
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CardLayoutDemo implements ActionListener {	JPanel p1, p2, p3, p4;	int i = 1;	JFrame f;	public CardLayoutDemo() {		f = new JFrame();// 当做top-level组件		Container contentPane = f.getContentPane();		contentPane.setLayout(new GridLayout(2, 1));		p1 = new JPanel();		Button b = new Button("Change Card");		b.addActionListener(this);// 当按下"Change Card"时,进行事件监听,将会有系统操作产生。		p1.add(b); // 处理操作在52-64行.		contentPane.add(p1);		p2 = new JPanel();		p2.setLayout(new FlowLayout());		p2.add(new JButton("first"));		p2.add(new JButton("second"));		p2.add(new JButton("third"));		p3 = new JPanel();		p3.setLayout(new GridLayout(3, 1));		p3.add(new JButton("fourth"));		p3.add(new JButton("fifth"));		p3.add(new JButton("This is the last button"));		p4 = new JPanel();		p4.setLayout(new CardLayout());		p4.add("one", p2);		p4.add("two", p3);		/*		 * 要显示CardLayout的卡片,除了用show(Container parent,String name)这个方法外		 * ,也可试试first(		 * Container),next(Container),previous(Container),last(Container)这		 * 四个方法,一样可以达到显示效果。		 */		((CardLayout) p4.getLayout()).show(p4, "one");		contentPane.add(p4);		f.setTitle("CardLayout");		f.pack();		f.setVisible(true);		f.addWindowListener(new WindowAdapter() {			public void windowClosing(WindowEvent e) {				System.exit(0);			}		});	}	public void actionPerformed(ActionEvent event) {		switch (i) {		case 1:			((CardLayout) p4.getLayout()).show(p4, "two");			break;		case 2:			((CardLayout) p4.getLayout()).show(p4, "one");			break;		}		i++;		if (i == 3)			i = 1;		f.validate();	}	public static void main(String[] args) {		new CardLayoutDemo();	}}


转载地址:http://alswn.baihongyu.com/

你可能感兴趣的文章
spring-cloud-hystrix简单使用
查看>>
docker批量删除镜像
查看>>
deeping操作系统修改已挂载卷名称
查看>>
设计模式之神奇的单例模式
查看>>
linux系统设置oracle开机自启
查看>>
数据库的五种索引类型
查看>>
设计模式之原型模式
查看>>
设计模式之建造者模式
查看>>
设计模式之代理模式
查看>>
设计模式之门面模式
查看>>
设计模式之装饰器模式
查看>>
设计模式之享元模式
查看>>
设计模式之组合模式
查看>>
设计模式之委派模式
查看>>
设计模式之模板方法模式
查看>>
设计模式之策略模式
查看>>
设计模式之责任链模式
查看>>
怎么成为一个合格的ERP系统管理员
查看>>
企业为什么要用ERP
查看>>
ERP计划层次探讨
查看>>