import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class demo_9
{
    public static void main(String [] args)
    {
        demo_9_1 test=new demo_9_1();
    }
}

class demo_9_1 extends JFrame //implements ActionListener
{
    JPanel cardPanel=new JPanel();//设置card的面板
    JPanel buttonPanel=new JPanel();//设置按钮的放置的面板
    JButton j0,j1,j2,j3;
    CardLayout card =new CardLayout();
    String cardPanelName[]={"0","1","2","3"};
    public demo_9_1()
    {
        /*
        *
        *jframe窗体的布局管理器默认为borederlayout 方法进行布局的
        *所以可以使用aa.add(cardPanel,BorderLayout.CENTER)
        */
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setBounds(0,0,400,300);
        cardPanel.setLayout(card);
        Container  aa=this.getContentPane();//返回的是本窗体的容器
        aa.add(cardPanel,BorderLayout.CENTER);//将面板添加到窗体的中心位置
        aa.add(buttonPanel,BorderLayout.SOUTH);//将面板添加到窗体的南部位置
        j0=new JButton("0");
        j1=new JButton("1");
        j2=new JButton("2");
        j3=new  JButton("3");
        buttonPanel.add(j0);
        buttonPanel.add(j1);
        buttonPanel.add(j2);
        buttonPanel.add(j3);
        for(int i=0;i<4;i++)
        {
            cardPanel.add(cardPanelName[i],new JButton("按钮"+i));//循环将按钮加入到设置好了的面板中,//带有字符串的面板将指定组件添加到此容器中
        }
        j0.addActionListener
        (
            new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    card.show(cardPanel,cardPanelName[0]);
                }
            }
        );
        j1.addActionListener
        (
            new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    card.show(cardPanel,cardPanelName[1]);
                }
            }
        );
        j2.addActionListener
        (
            new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    card.show(cardPanel,cardPanelName[2]);
                }
            }
        );
        j3.addActionListener
        (
            new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    card.show(cardPanel,cardPanelName[3]);
                }
            }
        );
    }
    // public void actionPerformed(ActionEvent e)
    // {
    //     card.show(cardPanel,cardPanelName[0]);
    // }
}

cardlayout的更多相关文章

  1. CardLayout布局练习(小的图片浏览器)

    /* 涉及Panel中的图片的加载,还有Frame的关闭的方法, CardLayout(int hgap, int vgap)就会决定卡片面板的大小 匿名类的使用... */ import java. ...

  2. JAVA GUI之CardLayout

    package refNet; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CardL ...

  3. 转:三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

    转:http://blog.csdn.net/liujun13579/article/details/7773945 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件 ...

  4. 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

    摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) ...

  5. 5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)

    5.Java-Swing常用布局管理器       应用布局管理器都属于相对布局,各组件位置可随界面大小而相应改变,不变的只是其相对位置,布局管理器比较难以控制,一般只在界面大小需要改是才用,但即使这 ...

  6. Java中CardLayout布局方式的应用

    import java.awt.CardLayout; import java.awt.Color; import java.awt.Container; import javax.swing.JBu ...

  7. java经典5种 FlowLayout 、BorderLayout、GridLayout、GridBagLayout、CardLayout布局

    Java 程序通过jvm可以很好的移植到其他平台上,但是java 生成的图形界面样式,在不使用布局的情况下,往往需要重新设定大小,才能在新的平台上调整到最佳样式.这是由于组件的最佳大小 往往是与平台相 ...

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

    对于选项卡这个概念大家可能不会陌生,就是在一个窗口中可以切换显示多页不同的内容,但同一时间只能是其中的某一页可见的,这样的一个个的页面就是选项卡. CardLayout就是类似的这样一个布局管理器,它 ...

  9. CardLayout使用

    相对于BoxLayout,GridBugLayut等常用的Swing layout,CardLayout是特殊的,前者是一个容器内布置组件,而后者是在一个容器内放置很多页面(但一个时间只用显示一个). ...

随机推荐

  1. 一些最常见的SNMP的OID自动翻译成zabbix数字进行表示(华为9306)

    转载自:https://blog.51cto.com/davidbj/1173954 随着Zabbix 2.0版本的发布,很多企业开始用zabbix来代替之前的Nagio.Cacti等其它监控软件.至 ...

  2. 李清华201772020113《面向对象程序设计(java)》第十三周学习总结

    1.实验目的与要求 (1) 掌握事件处理的基本原理,理解其用途: (2) 掌握AWT事件模型的工作机制: (3) 掌握事件处理的基本编程模型: (4) 了解GUI界面组件观感设置方法: (5) 掌握W ...

  3. VB6 二维数组去重实现

    关于VB6的二维数组去重算法实现 当然,这里还是有局限性,当我们的数组被填满了各个不同的值时,例如下方 700*700 = 490000 就要While49万次,这谁受得了? 所以以下仅适合小规模使用 ...

  4. Jquery通过AJAX从后台获取数据显示在表格上(复选)

    代码: function GetMultiLineSelectTable(tableId, selectIds) { var table = $(tableId); var url = table.d ...

  5. IDE 设备(磁盘/CD-ROM)配置不正确。“ide1:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide1:1”移到“ide1:0”。

    开启vmware报这个错: IDE 设备(磁盘/CD-ROM)配置不正确.“ide1:1”上具有一个 IDE 从设备,但没有主设备.此配置在虚拟机中无法正常运行.请使用配置编辑器将磁盘/CD-ROM ...

  6. Filter过滤器 不登陆无法访问其他页面

    package com.cscy.Filter; import java.io.IOException; import javax.servlet.Filter; import javax.servl ...

  7. 基于IAR平台FreeRTOS移植

     开始这篇文章之前先简单说明一下,我使用的MCU是我们公司自主研发的ACH1180芯片,和STM32差不多,都是Cortex-M4的核,所以移植的过程参考了STM32移植的步骤. 1.解压FreeRT ...

  8. 源码解析之ConcurrentHashmap

    ConcurrentHashmap算是我看的集合源码里最难理解的了(当然ConcurrentLinkedList虽然代码少但理解起来也累),在Java1.8版本中DougLea大师巧通过妙地代码把锁粒 ...

  9. 一条分页的SQL语句

    1.概述 在网页中如果显示的数据太多就会占据过多的页面,而且显示速度也会很慢.为了控制每次在页面上显示数据的数量,就可以利用分页来显示数据. 2.技术要点 在SQL Server中要实现SQL分页,需 ...

  10. HATEOAS

    HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心.它的重要性在于打破 ...