import javax.swing.*;import java.awt.*;
import java.awt.event.*;public class Card extends JFrame{/** JFrame的布局管理器是BorderLayout*/JPanel p;//位于中心区域的面板JButton b1,b2,b3,b4;//位于南部区域的四个按钮
    JLabel l1,l2,l3,l4;CardLayout c;//设置面板p的布局
    Card(String name){super(name);this.setVisible(true);this.setBounds(400,300,400,400);p = new JPanel();//实例化pc = new CardLayout();//实例化cp.setLayout(c);//设置面板p的布局为c,等价于p = new JPanel(c);//实例化4个按钮和标签b1 = new JButton("previous");b2 = new JButton("two");b3 = new JButton("three");b4 = new JButton("next");l1 = new JLabel("first card");l2 = new JLabel("second card");l3 = new JLabel("thirth card");l4 = new JLabel("fourth card");//实例化4个子面板并设定相应背景颜色JPanel p1 = new JPanel();JPanel p2 = new JPanel();JPanel p3 = new JPanel();JPanel p4 = new JPanel();        p1.setBackground(Color.green);p2.setBackground(Color.pink);p3.setBackground(Color.orange);p4.setBackground(Color.lightGray);//把上面4个面板添加到中心面板p中,并把4个面板分别用编号为1,2,3,4代替p.add(p1,"1");p.add(p2,"2");p.add(p3,"3");p.add(p4,"4");//把4个标签分别添加到4个子面板中
        p1.add(l1);p2.add(l2);p3.add(l3);p4.add(l4);//实例化位于南部区域的面板,并添加4个按钮JPanel psourth = new JPanel();psourth.add(b1);psourth.add(b2);psourth.add(b3);psourth.add(b4);//把p,psourth分别添加到本JFrame的中心区域和南部区域this.add(p);//等价于this.add(p,BorderLayout.CENTER); 因为默认是把组件添加到中部    this.add(psourth,BorderLayout.SOUTH);//为按钮b1添加监听器,当被按下时显示面板p中的前一个子面板b1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubc.previous(p);//显示p中的上一个面板
            }            });//为按钮b2添加监听器,当被按下时显示面板p中的第2个子面板b2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubc.show(p, "2");//显示p中代号为2的面板
            }            });//以下类推b3.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubc.show(p, "3");}            });b4.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub
                c.next(p);}            });//使用匿名内部类为本Frame添加监听器,当点击关闭按钮时结束程序this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public static void main(String[] args) {// TODO Auto-generated method stubnew Card("My Card");}}

 

运行结果:

转载于:https://www.cnblogs.com/UUUP/p/3800843.html

java中CardLayout的使用方法相关推荐

  1. 在java中下列描述错误的是_在 JAVA 中 , 关于类的方法 , 下列描述错误的是 ()._学小易找答案...

    [多选题]价值的特性是 [简答题]输入任一字符串,统计其中数字,字母及其它字符个数 .(25分) [填空题]1.产品整体包括哪五个基本层次 2核心层次产品最基本的层次,是产品的_____ [单选题]纸 ...

  2. java中读取文件的方法

    总结一下java中读取文件的方法: 方法一(逐行的读取文件内容): private FileReader fileReader; private BufferedReader bufferedRead ...

  3. JAVA中线程同步的方法(7种)汇总

    JAVA中线程同步的方法(7种)汇总 同步的方法: 一.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法. ...

  4. Java中wait和sleep方法的区别

    1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait ...

  5. 详细讲解Java中log4j的使用方法

    详细讲解Java中log4j的使用方法 作者: 网络 来源: 日期: 2008-1-3 23:40:24 1.Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析,要 ...

  6. php url乱码java接收,java中url乱码解决方法

    java中url乱码解决方法:(推荐:java视频教程) 1.将字符串转码:newString("xxxxx".getBytes("iso-8859-1"),& ...

  7. java中容易混淆的方法_java中容易混淆的区别

    本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...

  8. Java中的String.hashCode()方法可能有问题?

    过去几天,我一直在浏览Reddit上的一篇文章.这篇文章看得我要抓狂了.文章指出,Java中的String.hashCode()方法(将任意长度的字符串对象映射成32位int值)生成的哈希值存在冲突. ...

  9. 遍历Java中的列表的方法

    本文翻译自:Ways to iterate over a list in Java Being somewhat new to the Java language I'm trying to fami ...

最新文章

  1. Django REST framework 开始
  2. 利用 LotusScript 灵活操作 Lotus Notes 富文本域
  3. 计算机网络子网划分路由配置实验报告,洛阳理工学院+计算机网络+实验5子网划分路由配置...
  4. 计算客 (人人都有极客精神)爆力
  5. 中国首台千万亿次超级计算机,中国首台千万亿次超级计算机首批设备开始试用...
  6. 选择用 Java 开发 GUI:
  7. Redis Cluster 集群扩容与收缩
  8. [原创]FOCUS处理系统流程之:大文本文件极速合并(sps文件合并)
  9. javaweb复习题库
  10. java 扫雷 实验报告_java实现简单扫雷
  11. sealos4.1部署Kubernetes单机
  12. ws office excel 基础公式
  13. 中国科学院大学计算机复试,被中国科学院北京计算所录取了...(复试经验)
  14. 如何修改github博客主题
  15. paip.突破 网站 手机 验证码 的 破解 总结
  16. Linux安装phpMywind
  17. Office Online Server 2016 安装部署笔记
  18. canner CMS 系统 (公司在台湾) https://www.canner.io/
  19. Excel下拉框设置多选
  20. 100以内加减法练习题,打印到A4纸

热门文章

  1. 省选专练[POI2005]SAM-Toy Cars
  2. HBase 手动 flush 机制梳理
  3. 用nodejs 替换文件中所有图片的url
  4. Web前端行业的了解
  5. Shell应用:批量将文件编码由gbk转utf-8
  6. Windows 中自定义Error Codes
  7. discuz数据从godaddy主机中导出的mysql数据乱码变问号???的解决方法
  8. 同方专转本计算机视频,同方2011专转本计算机
  9. js 位运算符 ~, ,| ,^
  10. Centos7安装MySQL(多图)