前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java开发GUI之CardLayout卡片布局

Java开发GUI之CardLayout卡片布局

作者头像
珲少
发布2018-08-15 14:38:17
6120
发布2018-08-15 14:38:17
举报
文章被收录于专栏:一“技”之长

Java开发GUI之CardLayout卡片布局

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

代码语言:javascript
复制
	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的监听对象类如下:

代码语言:javascript
复制
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类中方法总结如下:

代码语言:javascript
复制
//默认的构造方法
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);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/06/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java开发GUI之CardLayout卡片布局
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档