当前位置: 首页 > 教程 > Java Swing >

Java CardLayout

精华
小牛编辑
139浏览
2023-03-14

1 Java CardLayout的介绍

CardLayout类以这样的方式管理组件:一次仅可见一个组件。它将每个组件都视为卡,这就是为什么它被称为CardLayout的原因。

2 Java CardLayout的构造方法

构造方法 描述
CardLayout() 创建水平和垂直间隙为零的卡片布局。
CardLayout(int hgap, int vgap) 创建具有给定水平和垂直间隙的卡片布局。

3 Java CardLayout的方法

方法 描述
public void next(Container parent) 用于翻转到给定容器的下一张卡片。
public void previous(Container parent) 用于翻转到给定容器的上一张卡片。
public void first(Container parent) 用于翻转到给定容器的第一张卡片。
public void last(Container parent) 用于翻转到给定容器的最后一张卡片。
public void show(Container parent, String name) 用于翻转到具有给定名称的指定卡。

4 Java CardLayout的案例

package cn.xnip;

import java.awt.*;
import java.awt.event.*;  
  
import javax.swing.*;  
  
public class CardLayoutExample extends JFrame implements ActionListener{  
CardLayout card;  
JButton b1,b2,b3;  
Container c;  
    CardLayoutExample(){  
          
        c=getContentPane();  
        card=new CardLayout(40,30);  
        //create CardLayout object with 40 hor space and 30 ver space
        c.setLayout(card);  
          
        b1=new JButton("Apple");  
        b2=new JButton("Boy");  
        b3=new JButton("Cat");  
        b1.addActionListener(this);  
        b2.addActionListener(this);  
        b3.addActionListener(this);  
              
        c.add("a",b1);c.add("b",b2);c.add("c",b3);  
                          
    }  
    public void actionPerformed(ActionEvent e) {  
    card.next(c);  
    }  
  
    public static void main(String[] args) {  
        CardLayoutExample cl=new CardLayoutExample();  
        cl.setSize(400,400);
        cl.setTitle("CardLayout案例-小牛知识库网");
        cl.setVisible(true);  
        cl.setDefaultCloseOperation(EXIT_ON_CLOSE);  
    }  
} 

输出结果为: