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();
	}
}








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

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

(0)
上一篇 2022年6月12日 上午7:46
下一篇 2022年6月12日 上午7:46


相关推荐

  • 国外优秀JAVA技术网站推荐[通俗易懂]

    国外优秀JAVA技术网站推荐[通俗易懂]1.http://blog.adam-bien.com/AdamBien的个人博客,主要是Java&JavaEE相关。2.http://techblog.bozho.net/Java,Android,WEB相关3.http://www.captaindebug.com/Java,Spring,Weblogic,Oracle,MySQL等。4.http…

    2022年8月23日
    6
  • Android MTK PDAF流程

    Android MTK PDAF流程staticstruct PD BLOCK INFO Timgsensor pd info 1920 1080 i4OffsetX 16 xoffsetofPDa i4OffsetY 12 yoffsetofPDa i4PitchX 16 xpitch widthofaPDbl i4PitchY 16 ypitch heightofaPDb i

    2026年3月17日
    2
  • poj3660 Cow Contest(Floyd-Warshall方法求有向图的传递闭包)

    poj3660 Cow Contest(Floyd-Warshall方法求有向图的传递闭包)

    2021年9月7日
    60
  • idea字体大小调整

    idea字体大小调整打开 File gt Settings 然后 Editor gt Font gt Size 即可调整代码大小

    2026年3月16日
    1
  • JS中click事件

    JS中click事件今天在写Ajax请求代码时,js代码遇到了一点问题。最后还专门将一部分代码拷贝到webStorm里面测试,花了好久,发现是个坑。先贴一段代码:第一个按钮的点击事件没有任何反应。第二个按钮就会弹出“你好”。原因:这是因为我使用了click这个作为函数的名字,我在这几类中查询了一下,却没有发现click的踪影,而使用click作为函数名,浏览器既不报错,也不提示,真的很坑啊!类似还有open和clos…

    2022年6月13日
    45
  • C++RTSP服务端(附源码)

    C++RTSP服务端(附源码)源代码 demo 已上传到百度网盘 永久生效 代码实现了 rtsp 服务端功能 而且对模块进行了封装 只需要简单的调用 4 个函数就可以 实现服务器的功能 主要是针对 h264 流的封包 本代码完全提取 live555rtsp 代码 并加以修改与封装 我已经封装成 DLL 了 当然一切都提供源吗 先看下接口封装 要是有了这几个接口 你还是不知道怎么用 那我真的没有办法了 取到流 设像头或者文件 你开启服务 等待连接啊 有连接上后 发送你的流啊 你不用怀疑代码有没问

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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