java Swing布局管理器之CardLayout布局
2016-05-08 15:43
393 查看
CardLayout布局:
CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面
将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到
卡片的顺序由组件对象本身在容器内部的顺序决定。
1.构造函数
2.常用方法
3.实例
4.结果
CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面
将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到
CardLayout对象的组件为可见组件。
卡片的顺序由组件对象本身在容器内部的顺序决定。
CardLayout定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示指定的卡片。addLayoutComponent(java.awt.Component, java.lang.Object) 方法可用于将一个字符串标识符与给定卡片关联,以便进行快速随机访问。
1.构造函数
CardLayout():创建一个间距大小为 0 的新卡片布局。
CardLayout(int hgap, int vgap):创建一个具有指定水平间距和垂直间距的新卡片布局。
2.常用方法
addLayoutComponent(Component comp, Object constraints): 将指定的组件添加到此卡片布局的内部名称表。
first(Container parent):翻转到容器的第一张卡片。
getHgap(): 获取组件之间的水平间距。
getLayoutAlignmentX(Container parent):返回沿 x 轴的对齐方式。
getLayoutAlignmentY(Container parent):返回沿 y 轴的对齐方式。
ge 4000 tVgap():获取组件之间的垂直间距。
last(Container parent):翻转到容器的最后一张卡片。
3.实例
import java.awt.BorderLayout; import java.awt.Button; import java.awt.CardLayout; import java.awt.Frame; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; public class Calculator { JFrame f; Panel p1; Panel p2; String[] name = { "1", "2", "3", "4", "5" }; CardLayout c; public void init() { f = new JFrame("CardLayout实例"); p1 = new Panel(); p2 = new Panel(); c = new CardLayout(); p1.setLayout(c); for (int i = 0; i < name.length; i++) { p1.add(name[i], new Button(name[i])); } // 控制显示上一张的按钮 Button previous = new Button("上一张"); previous.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { c.previous(p1); } }); // 控制显示下一张的按钮 Button next = new Button("下一张"); next.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { c.next(p1); } }); // 控制显示第一张的按钮 Button first = new Button("第一张"); first.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { c.first(p1); } }); // 控制显示最后一张的按钮 Button last = new Button("最后一张"); last.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { c.last(p1); } }); // 根据card名显示的按钮 Button third = new Button("第三张"); third.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { c.show(p1, "3"); } }); p2.add(previous); p2.add(next); p2.add(first); p2.add(last); p2.add(third); f.add(p1);// 默认添加到中间 f.add(p2, BorderLayout.SOUTH); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.pack(); f.setVisible(true); } public static void main(String[] args) { new Calculator().init(); } }
4.结果
相关文章推荐
- 《Java程序设计》第十周学习总结
- eclipse插件
- 20145330第十周《Java学习笔记》
- Java热更新
- Spring Data JPA进阶——Specifications和Querydsl
- java Swing布局管理之GridLayout布局
- java从0开始学习第十二课-多线程是如此的简单
- JAVA中的循环
- SpringMVC实战(四)-处理模型数据
- Java学习之多态
- Spring MVC使用POJO以及servlet原生api作为参数
- 线程池(ThreadPoolExecutor JDK1.7)
- java操作Excel表
- Java 缩放图片工具类,创建缩略图、伸缩图片比例
- struts2进行文件的下载
- 20145206《Java程序设计》第10周学习总结
- java IO 四(转换流的使用)
- Java String 学习
- Java编写迷宫小游戏
- java基础第三天_数组