博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10.4 使用布局管理器3(CardLayout)
阅读量:4710 次
发布时间:2019-06-10

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

3)CardLayout布局管理器

CardLayout布局管理器以时间而非空间来管理它里面的组件,它将加入容器的所有组件看成一叠卡片,每次只要最上面的那个Component才可见。就好像一副扑克牌,它们叠在一起,每次只有最上面的一张扑克牌可见。

CardLayout提供了如下两个构造器:

1)CardLayout():创建默认的CardLayout布局管理器。

2)CardLayout(int hgap,int vgap):通过指定卡片与容器左右边界的间距(hgap)、上下边界(vgap)的间距来创建CardLayout布局管理器。

CardLayout用于控制组件可见的5个常用方法:

1)first(Container target):显示target容器中的第一个卡片。

2)last(Container target):显示target容器中的最后一个卡片。

3)previous(Container target):显示target容器中前一个卡片。

4)next(Container target):显示target容器中下一个卡片。

5)show(Container target,String name):显示target容器中指定名字的卡片。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package 
cardlayout.dolphin.awt;
 
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;
 
public 
class 
CardLayoutTest {
 
    
public 
static 
void 
main(String[] args) {
        
// TODO 自动生成的方法存根
        
Frame f = 
new 
Frame(CardLayoutTest);
        
String[] names = {第一张,第二张,第三张,第四张,第五张};
        
final 
CardLayout c = 
new 
CardLayout();
        
final 
Panel p1 = 
new 
Panel();
        
p1.setLayout(c);
        
for 
(
int 
i = 
0
; i < names.length; ++i)
        
{
            
p1.add(names[i], 
new 
Button(names[i]));
        
}
        
Panel p2 = 
new 
Panel();
        
//控制显示上一张按钮
        
Button btn_Pre = 
new 
Button(上一张);
        
btn_Pre.addActionListener(
new 
ActionListener(){
            
public 
void 
actionPerformed(ActionEvent e){
                
c.previous(p1);
            
}
        
});
        
//控制显示下一张按钮
        
Button btn_Next = 
new 
Button(下一张);
        
btn_Next.addActionListener(
new 
ActionListener(){
            
public 
void 
actionPerformed(ActionEvent e){
                
c.next(p1);
            
}
        
});
        
//控制显示第一张按钮
        
Button btn_First = 
new 
Button(第一张);
        
btn_First.addActionListener(
new 
ActionListener(){
            
public 
void 
actionPerformed(ActionEvent e){
                
c.first(p1);
            
}
        
});
        
//控制显示最后一张按钮
        
Button btn_Last = 
new 
Button(最后一张);
        
btn_Last.addActionListener(
new 
ActionListener(){
            
public 
void 
actionPerformed(ActionEvent e){
                
c.last(p1);
            
}
        
});
        
//控制显示最后一张按钮
        
Button btn_3rd = 
new 
Button(第三张);
        
btn_3rd.addActionListener(
new 
ActionListener(){
            
public 
void 
actionPerformed(ActionEvent e){
                
c.show(p1,第三张);
            
}
        
});
        
p2.add(btn_Pre);
        
p2.add(btn_Next);
        
p2.add(btn_First);
        
p2.add(btn_Last);
        
p2.add(btn_3rd);
        
f.add(p1);
        
f.add(p2,BorderLayout.SOUTH);
        
f.pack();
        
f.setVisible(
true
);
    
}
}

\

转载于:https://www.cnblogs.com/sxdxjava/p/5544839.html

你可能感兴趣的文章
1.Js 点击控件区域之外隐藏控件
查看>>
python循环语句
查看>>
通过手动安装来启动ZStack
查看>>
javaBean与Map<String,Object>互转
查看>>
python自动化--语言基础五面向对象、迭代器、range和切片的区分
查看>>
javascript valueof
查看>>
求二叉树中最多的黑色节点
查看>>
linux —— 搭建网页项目笔记
查看>>
安装Autodesk Revit2015出现操作系统不受支持解决办法
查看>>
jQuery中的end()
查看>>
poj 3349:Snowflake Snow Snowflakes(哈希查找,求和取余法+拉链法)
查看>>
CSS布局解决方案(终结版)
查看>>
string.h文件中函数用法
查看>>
从0开始 图论学习 广度优先搜索 链式前向星表示法
查看>>
Windows系统上安装多个版本jdk,修改环境变量不生效
查看>>
210. Course Schedule II (易理解拓扑排序算法)
查看>>
POJ 1064 Cable master
查看>>
php_openssl.dll' - 找不到指定的模块。 in Unknown on line 0
查看>>
JavaScript:日期选择器组件的使用
查看>>
HTML 图像<img>
查看>>