• Java 的CardPanel用法


    Java code?
    1
    2
    3
    4
    5
    6
                  card = new CardLayout(5,5);//5,5是组件间隔
                   pane = new JPanel(card);
            pane.add(p_1, "p1");//添加panel并指定名字
            pane.add(p_2, "p2");
            pane.add(p_3, "p3");
        card.show(pane, "p1");//显示指定的panel



    完整代码

    Java code?

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    import java.awt.BorderLayout;
    import java.awt.CardLayout;
    import java.awt.Color;
    import java.awt.Insets;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.UIManager;
     
    /**
     * Java中CardLayout布局管理器使用的小例子
     
     * @blog http://blog.csdn.net/mq612
     */
    public class testCardLayout extends JFrame
    {
        private JPanel        pane        = null// 主要的JPanel,该JPanel的布局管理将被设置成CardLayout
        private JPanel        p            = null// 放按钮的JPanel
        private CardLayout    card        = null// CardLayout布局管理器
        private JButton        button_1    = null// 上一步
        private JButton        button_2    = null// 下一步
        private JButton        b_1            = null, b_2 = null, b_3 = null// 三个可直接翻转到JPanel组件的按钮
        private JPanel        p_1            = null, p_2 = null, p_3 = null// 要切换的三个JPanel
     
        public testCardLayout()
        {
            super("CardLayout Test");
            try
            {
                // 将LookAndFeel设置成Windows样式
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
            /** 创建一个具有指定的水平和垂直间隙的新卡片布局 */
            card = new CardLayout(55);
            pane = new JPanel(card); // JPanel的布局管理将被设置成CardLayout
            p = new JPanel(); // 构造放按钮的JPanel
            button_1 = new JButton("< 上一步");
            button_2 = new JButton("下一步 >");
            b_1 = new JButton("1");
            b_2 = new JButton("2");
            b_3 = new JButton("3");
            b_1.setMargin(new Insets(2222));
            b_2.setMargin(new Insets(2222));
            b_3.setMargin(new Insets(2222));
            p.add(button_1);
            p.add(b_1);
            p.add(b_2);
            p.add(b_3);
            p.add(button_2);
            p_1 = new JPanel();
            p_2 = new JPanel();
            p_3 = new JPanel();
            p_1.setBackground(Color.RED);
            p_2.setBackground(Color.BLUE);
            p_3.setBackground(Color.GREEN);
            p_1.add(new JLabel("JPanel_1"));
            p_2.add(new JLabel("JPanel_2"));
            p_3.add(new JLabel("JPanel_3"));
            pane.add(p_1, "p1");//添加panel并指定名字
            pane.add(p_2, "p2");
            pane.add(p_3, "p3");
            /** 下面是翻转到卡片布局的某个组件,可参考API中的文档 */
            button_1.addActionListener(new ActionListener()
                // 上一步的按钮动作
                        public void actionPerformed(ActionEvent e)
                        {
                            card.previous(pane);
                        }
                    });
            button_2.addActionListener(new ActionListener()
                // 下一步的按钮动作
                        public void actionPerformed(ActionEvent e)
                        {
                            card.next(pane);
                        }
                    });
            b_1.addActionListener(new ActionListener()
                // 直接翻转到p_1
                        public void actionPerformed(ActionEvent e)
                        {
                            card.show(pane, "p1");
                        }
                    });
            b_2.addActionListener(new ActionListener()
                // 直接翻转到p_2
                        public void actionPerformed(ActionEvent e)
                        {
                            card.show(pane, "p2");
                        }
                    });
            b_3.addActionListener(new ActionListener()
                // 直接翻转到p_3
                        public void actionPerformed(ActionEvent e)
                        {
                            card.show(pane, "p3");
                        }
                    });
            this.getContentPane().add(pane);
            this.getContentPane().add(p, BorderLayout.SOUTH);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setSize(300200);
            this.setVisible(true);
        }
     
        public static void main(String[] args)
        {
            new testCardLayout();
        }
     
    }
  • 相关阅读:
    通过如何通过js实现复制粘贴功能
    通过localstorage和cookie实现记录文章的功能
    HTML5表单提示placeholder属性兼容IE
    html5跨域数据传递(postMessage)
    js获取当前指定的前几天的日期(如当前时间的前七天的日期)
    html5本地存储(localStorage)使用介绍
    原生js动画效果(源码解析)
    如何通过js和jquery获取图片真实的宽度和高度
    echart-图表位置改变
    echart-渐变色背景
  • 原文地址:https://www.cnblogs.com/aipan/p/6295866.html
Copyright © 2020-2023  润新知