10.4 使用布局管理器3(CardLayout)

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

    }

}

时间: 2024-08-07 21:34:36

10.4 使用布局管理器3(CardLayout)的相关文章

10.4 使用布局管理器1(FlowLayout)

1).FlowLayout管理器 它是面板的默认布局管理器类,使用时,想在页面中排列英文单词那样排列组件:从左到右,当前行没有空间后进入下一行. 当框架中添加进组件时,可以使用如下代码示例来调用浮动的布局: FlowLayout layout = new FlowLayout(); setLayout(layout); 也可以指定用于特定容器(如JPanle对象)的布局管理器,为此可以使用该容器对象的setLayout()方法. FlowLayout类仅根据容器的尺寸来排列组件.调整应用程序窗口

10.4 使用布局管理器2(BorderLayout)

2).BorderLayout管理器 它将容器中的组件放置在特定的位置,该位置有5个方位:东.南.西.北.中.其中4个位置由方向罗盘方向指定,另外一个由中心区域指定. 与GridLayout类相同,BorderLayout也会将所有可用空间都分配给组件.在周围放置4个边界组件后,余下的空间都分配给中央的组件,因此它通常是最大的.下面的语句创建一个使用边界布局的容器: //参数10,20用于指定组件之间的水平,垂直距离 BorderLayout borderLayout = newBorderLa

Java FlowLayout、BorderLayout、GridLayout、GridBagLayout、CardLayout布局管理器

作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/40985027 一.FlowLayout布局管理器 FlowLayout() 构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位. FlowLayout(int align) 构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个单位. FlowLayout(int align, int hgap, int

布局管理器之CardLayout(卡片布局管理器)

对于选项卡这个概念大家可能不会陌生,就是在一个窗口中可以切换显示多页不同的内容,但同一时间只能是其中的某一页可见的,这样的一个个的页面就是选项卡. CardLayout就是类似的这样一个布局管理器,它能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像重叠在一起的一幅扑克牌,组件重叠在一起,初始时显示该空间中第一个组件,通过CardLayout类提供的方法可以切换该空间中显示的组件. 下面我们来看一个例子,实现CardLayout布局管理器的使用. 创建一个使用CardLayout布局

AWT布局管理器

布局管理器 容器内可以存放各种组件,而组件的位置和大小是由容器内的布局管理器来决定的.在AWT中为我们提供了以下5种布局管理器: ①   FlowLayout 流式布局管理器 ②   BorderLayout 边界布局管理器 ③   GridLayout 网格布局管理器 ④   CradLayout 卡片布局管理器 ⑤   GridBagLayout 网格包布局管理器 容器中组件的布局通常由布局管理器控制.每个Container(比如一个Panel或一个Frame)都有一个与他相关的缺省布局管理

java基础 布局管理器

概念: 组建在容器(比如JFrame)中的位置和 大小 是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组建的布局管理. 种类: java共提供了物种布局管理器:流式布局管理器(FlowLayout),边界布局管理器(BorderLayout),网络布局管理器(GridLayout),卡片布局管理器(CardLayout),网格布局管理器(GridBagLayout).其中前三种是最常见的布局管理器. 一.  边界布局管理器 边界布局管理器 BorderLayout 注

卡片布局管理器

本例因为要制作卡片布局管理器,所以首先要构造框架窗体.先通过函数this.setLayout(new BorderLayout())设置Frame的布局管理器为BorderLayout:再两次实例化Panel类得到两个对象pnlCommandArea和pnlDisplayArea:然后通过函数this.add( pnlCommandArea, BorderLayout.NORTH和函数this.add( pnlDisplayArea, BorderLayout.CENTER) 将两Panel对象

十七、高级布局管理器

1.箱式布局管理器(BoxLayout) 用来管理一组水平或垂直列的组件. 利用Box类提供的6个不可见组件设置箱式布局管理器组件之间的间距. Box类中的两种不可见类型: 支柱(Strut):设置组件的宽度.高度和大小. 胶水(Glue):类似弹簧,将组件平均分布到容器中. 2.卡片布局管理器(CardLayout) 方法:first().last().next().previous().show() 3.网格组布局管理器(GridBagLayou 属性:gridx和gridy.gridwid

卡片布局管理器(CardLayout)

1.作用: 卡片布局管理器是管理器的一种,卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件,通过CardLayout类提供的方法可以切换该空间中显示的组件. 2.CardLayout的常用构造方法: void   first(Container    parent)               翻转到指定容器的第一张卡片 void   next(Container   parent)               翻转到