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. 内核驱动程序中如何读写user space的文件,方便调试程序

    需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据.但是在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() f ...

  2. 编译安装Python3

    转发https://www.cnblogs.com/resn/p/10135953.html 编译安装Python3 安装依赖 yum install -y ncurses-libs zlib-dev ...

  3. java和.net连接数据库的方法

    .net连接数据库的方法 App.config <connectionStrings> <add name="" connectionString="D ...

  4. js基本知识

    1.js中的数据类型: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 2.typeof 返回的是字符串,有 ...

  5. AES/CBC/PKCS7Padding加密方式

    在网上找了大半天资料,终于找到一个可以用的 public static class AES { // 算法名称 final static String KEY_ALGORITHM = "AE ...

  6. 《2018面向对象程序设计(Java)课程学习进度条》

    周次 (阅读/编写)代码行数 发布博客量/博客评论数量 课堂/课余学习时间(小时) 最满意的编程任务 第一周 50/40 1/0 6/4 九九乘法表 第二周 100/80 1/0 6/8 实验5,6, ...

  7. Swoft 容器使用

    可以借助Swoft下的Bean类操作容器 示例: 将类绑定至容器 use Swoft\Bean\Annotation\Bean; /** * @Bean("imageLogic") ...

  8. 《Spring_four》团队作业4—基于原型的团队项目需求调研与分析

    (一)需求规格说明书github地址:https://github.com/gzyt/SRS (二)原型链接:http://www.cnblogs.com/lztxh/p/9011873.html ( ...

  9. c++ protected 访问限定

    class A { protected: int mA; }; class B : public A{ public: void Func() { mA = 0; // ok A *a = this; ...

  10. ipad忘记了锁屏密码,已经越狱了

    ipad忘记了锁屏密码,已经越狱了, 已经需要连接itunes了...要是恢复的话,好像就不能越狱了耶... 我叫什么好咧 | 浏览 3330 次  问题暂时关闭  推荐于2016-07-23 11: ...