博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java开发GUI之CardLayout卡片布局
阅读量:7090 次
发布时间:2019-06-28

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

hot3.png

Java开发GUI之CardLayout卡片布局

    CardLayout布局允许进行多套界面的设计,通过切换界面来实现布局样式的改变。CardLayout类似与一叠卡片,默认最先添加的在前面,界面始终只展示一个卡片。示例如下:

static Panel cardPannel;		static void CardLayoutTest(){		Frame frame = new Frame("Label");		Panel top = new Panel();		Choice choice = new Choice();		choice.add("BUTTON");		choice.add("LABEL");		choice.addItemListener(new CardLayoutChoiceListener());		top.add(choice);				CardLayout layout = new CardLayout();		cardPannel = new Panel(layout);		Panel p1 = new Panel();		p1.add(new Button("one"));		p1.add(new Button("two"));		p1.add(new Button("three"));		cardPannel.add("BUTTON", p1);		Panel p2 = new Panel();		p2.add(new Label("label"));		p2.add(new Label("label"));		p2.add(new Label("label"));		cardPannel.add("LABEL", p2);		top.add(cardPannel);				frame.add(top);		frame.pack();		frame.show();	}

Choice的监听对象类如下:

class CardLayoutChoiceListener implements ItemListener{	@Override	public void itemStateChanged(ItemEvent e) {		// TODO Auto-generated method stub		((CardLayout)APP.cardPannel.getLayout()).show(APP.cardPannel, (String) e.getItem());	}	}

需要注意,CardLayout在进行卡片切换时,是通过卡片名来确定的,所以上面的代码将Choice的标题设置为和卡片的名称一致。

                  

    CardLayout类中方法总结如下:

//默认的构造方法public CardLayout();//构造方法 hgap设置卡片水平间距 vgap设置卡片竖直间距 public CardLayout(int hgap, int vgap);//获取水平间距public int getHgap();//设置水平间距public void setHgap(int hgap);//获取竖直间距public int getVgap();//设置竖直间距public void setVgap(int vgap);//显示第一个卡片界面 parent为父容器public void first(Container parent);//显示下一个卡片界面public void next(Container parent);//显示上一个卡片界面public void previous(Container parent);//显示最后一个卡片界面public void last(Container parent);//显示指定名称的卡片界面public void show(Container parent, String name);

 

转载于:https://my.oschina.net/u/2340880/blog/979179

你可能感兴趣的文章
Tomcat的启动与关闭以及启动时一闪而过的解决方法
查看>>
动作Action
查看>>
git 怎么上传文件到github上
查看>>
curl myip.ipip.net curl ip.cn curl cip.cc
查看>>
png24是支持Alpha透明的。。。。。。
查看>>
关于WebGIS开源解决方案的探讨(转)
查看>>
OO第三次博客作业
查看>>
Linux--sed命令
查看>>
Java基本语法-----java数据类型的转换
查看>>
MM模块表大全简单介绍
查看>>
Recursive
查看>>
android sqlite 图片保存和读出
查看>>
Android开机自启动程序
查看>>
C++ PAT乙 1080. MOOC期终成绩 (25)
查看>>
关于layoutparam 请铭记。。。。
查看>>
DevExpress_Report 主从报表绑定数据,分页打印
查看>>
小强的HTML5移动开发之路(3)——HTML5与HTML4比较
查看>>
使用unity3D开发同时打开手机前后摄像头实例程序
查看>>
装饰器
查看>>
转: C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception
查看>>