GridLayout的使用

GridLayout的使用GridLayout的使用:GridLayout的类层次结构图:java.lang.Object–java.awt.GridLayoutGridLayout比FlowLayout多了行和列的设置,也就是说你要先设置GridLayout共有几行几列,就如同二维平面一般,然后你加进去的组件会先填第一行的格子,然后再从第二行开始填,依此类扒,就像是一个个的格子一般。而

大家好,又见面了,我是你们的朋友全栈君。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();
	}
}








版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131592.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Servlet 与 CGI 的比较「建议收藏」

    Servlet 与 CGI 的比较「建议收藏」首先什么是GCI,以下是百度给的定义。GCI:CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎所有服务器都支持CGI,可用任何语言编写CGI,包括流行的C、…

  • 数据库资料「建议收藏」

    数据库资料「建议收藏」学习数据库的时候发现了比较好的资料,在这里分享一下:https://www.bilibili.com/video/av29219646  视频https://zhangjia.tv/682.html              文档…

  • DS哈希查找—二次探测再散列

    DS哈希查找—二次探测再散列题目描述定义哈希函数为H(key)=key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。输入测试次数t每组测试数据格式如下:哈希表长m、关键字个数nn个关键字查找次数kk个待查关键字输出对每组测试数据,输出以下信息:构造的哈希表信息,数组中没有关键字的位置输出NULL对k个待查关键字,分别输出:…

  • vue子组件向父组件传值的方法

    vue子组件向父组件传值的方法子组件向父组件,使用$emit方法,demo:子组件的代码:<template><div><h1>thisischildcomponent</h1><button@click=”toParent”>向父组件传值</button></div>…

  • idea激活失败agent目录找不到破解方法

    idea激活失败agent目录找不到破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 相关网站_如何制作一个网站

    相关网站_如何制作一个网站一、职称申报无锡市职称申报系统二、一建报名中国人事考试网三、无锡人事考试网无锡人事考试网四、社保卡江苏人力资源和社会保障网江苏社保卡服务网五、个人公积金查询公积金查询入口六、个人社保查询个人社保查询入口

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号