精华内容
下载资源
问答
  • java 卡片布局

    千次阅读 2014-04-22 21:24:56
    卡片布局 就是卡片yi

    卡片布局

    就是卡片一张接着一张的显示

    package zixue;
    
    /*
     * 功能:卡布布局简单案例,其中用面板来存放卡片,面板相当于实际中的卡片盒,用于存放卡片
     *其中,把需要的图片新建一个文件夹存放即可调用
     * */
    
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class CardLayout_1 extends JFrame implements ActionListener{
    	//定义卡片布局的相关组件
    	CardLayout c1;//这样定义是为了后面卡片的切换时调用c1的方法
    	JPanel jp1;//用于设置卡片布局的面板
    	JPanel jp2;//用于放置标签的面板
    	JButton jb1,jb2;
    	JLabel jl1,jl2,jl3;
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		CardLayout_1 card =new CardLayout_1();
    	}
    	public CardLayout_1()
    	{
    		//创建组件
    		//创建一个卡片布局对象
    		c1=new CardLayout();
    		//创建用于点击显示卡片的按钮
    		jb1=new JButton("卡片1");
    		//添加监听 
    		jb1.addActionListener(this);
    		jb2=new JButton("卡片2");
    		jb2.addActionListener(this);
    		
    		//创建图片标签,也就是卡片
    		jl1=new JLabel(new ImageIcon("image/qq.gif"));
    		jl2=new JLabel(new ImageIcon("image/mm.jpg"));
    		
    		jp1=new JPanel();
    		jp2=new JPanel();
    		
    		//设置面板jp1为卡片布局
    		jp1.setLayout(c1);
    		//给jp1添加卡片,默认显示最上面的那张卡片
    		jp1.add(jl1,"1");
    		jp1.add(jl2,"2");
    		
    		jp2.add(jb1,BorderLayout.NORTH);
    		jp2.add(jb2,BorderLayout.CENTER);
    		
    		//添加到窗体
    		this.add(jp1,BorderLayout.NORTH);
    		this.add(jp2,BorderLayout.SOUTH);
    		
    		//设置窗体属性
    		this.setTitle("卡片布局");
    		this.setSize(300,150);
    		this.setBackground(Color.green);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setVisible(true);
    	}
    	public void actionPerformed(ActionEvent arg0) {
    		// TODO Auto-generated method stub
    		if(arg0.getSource()==jb1)
    		{
    			//通过卡片布局对象显示jp1面板上的卡号为2的卡片
    			c1.show(jp1, "2");
    			
    		}
    		else if(arg0.getSource()==jb2)
    		{
    			c1.show(jp1, "1");
    		}
    	}
    
    }
    
    


    1 将需要卡片显示的内容加入一个容器中

    如本例中jp1

    2并将其设置为卡片布局

    c1=new CardLayout();

    jp1.setLayout(c1);

    jp1.add(jl1,"1");
    jp1.add(jl2,"2");
    3 在需要用的时候,只需要触发相应的动作就可以了。

    package zixue;
    
    /*
     * 功能:卡布布局简单案例,其中用面板来存放卡片,面板相当于实际中的卡片盒,用于存放卡片
     *其中,把需要的图片新建一个文件夹存放即可调用
     * */
    
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class CardLayout_1 extends JFrame implements ActionListener ,MouseListener{
    	//定义卡片布局的相关组件
    	CardLayout c1;//这样定义是为了后面卡片的切换时调用c1的方法
    	JPanel jp1;//用于设置卡片布局的面板
    	JPanel jp2;//用于放置标签的面板
    	JButton jb1,jb2;
    	JLabel jl1,jl2,jl3;
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		CardLayout_1 card =new CardLayout_1();
    	}
    	public CardLayout_1()
    	{
    		//创建组件
    		//创建一个卡片布局对象
    		c1=new CardLayout();
    		//创建用于点击显示卡片的按钮
    		jb1=new JButton("卡片1");
    		jb1.addMouseListener(this);
    		//添加监听 
    		jb1.addActionListener(this);
    		jb2=new JButton("卡片2");
    		jb2.addActionListener(this);
    		jb2.addMouseListener(this);
    		//创建图片标签,也就是卡片
    		jl1=new JLabel(new ImageIcon("image/qq.gif"));
    		jl2=new JLabel(new ImageIcon("image/mm.jpg"));
    		
    		jp1=new JPanel();
    		jp2=new JPanel();
    		
    		//设置面板jp1为卡片布局
    		jp1.setLayout(c1);
    		//给jp1添加卡片,默认显示最上面的那张卡片
    		jp1.add(jl1,"1");
    		jp1.add(jl2,"2");
    		
    		jp2.add(jb1,BorderLayout.NORTH);
    		jp2.add(jb2,BorderLayout.CENTER);
    
    		//添加到窗体
    		this.add(jp1,BorderLayout.NORTH);
    		this.add(jp2,BorderLayout.SOUTH);
    		
    		//设置窗体属性
    		this.setTitle("卡片布局");
    		this.setSize(300,150);
    		this.setBackground(Color.green);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setVisible(true);
    	}
    	public void actionPerformed(ActionEvent arg0) {
    		// TODO Auto-generated method stub
    		if(arg0.getSource()==jb1)
    		{
    			//通过卡片布局对象显示jp1面板上的卡号为2的卡片
    			c1.show(jp1, "2");
    			
    		}
    		else if(arg0.getSource()==jb2)
    		{
    			c1.show(jp1, "1");
    		}
    	}
    	public void mouseClicked(MouseEvent e) {
    		// TODO Auto-generated method stub
    		
    	}
    	public void mouseEntered(MouseEvent e) {
    		// TODO Auto-generated method stub
    		if(e.getSource()==jb1){
    			c1.show(jp1, "2");
    		}else if(e.getSource()==jb2){
    			c1.show(jp1, "1");
    		}
    	}
    	public void mouseExited(MouseEvent e) {
    		// TODO Auto-generated method stub
    		
    	}
    	public void mousePressed(MouseEvent e) {
    		// TODO Auto-generated method stub
    		
    	}
    	public void mouseReleased(MouseEvent e) {
    		// TODO Auto-generated method stub
    		
    	}
    
    }
    
    



    展开全文
  • 主要介绍了Java卡片布局管理器解释及实例,需要的朋友可以参考下。
  • java卡片布局的简单案例

    热门讨论 2010-11-17 16:33:45
    在网上查了很多资料,关于JAVA卡片布局的资料比较少,很多都只是提一下,这是一个简单明了的卡片布局案例,相信你看过之后一定能明白
  • Java 卡片布局小例子

    千次阅读 2018-06-26 15:55:36
    一个卡片布局的小程序,有助于理解什么是卡片布局代码如下:import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.Insets; import java.awt.event.ActionEvent; ...
    一个卡片布局的小程序,有助于理解什么是卡片布局

    代码如下:

    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;
     
    
    public class TestMain 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 TestMain() {
            super("CardLayout Test");
            try {
                // 将LookAndFeel设置成Windows样式
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            /**创建一个具有指定的水平和垂直间隙的新卡片布局*/
            card = new CardLayout(5, 5);
            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(2,2,2,2));
            b_2.setMargin(new Insets(2,2,2,2));
            b_3.setMargin(new Insets(2,2,2,2));
            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");
            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(300, 200);
            this.setVisible(true);
        }
        
        public static void main(String[] args) {
            new TestMain();
        }
        
    }
    

    展开全文
  • import java.awt.*; import javax.swing.*; import java.awt.event.*; //让包含事件源的容器对象来担任监听者 public class App14_4 extends JFrame implements ActionListener { static App14_4 frm = new App...

    _(:з」∠)_在书本例子的基础上做了点改动

    package t4;
    
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    
    //让包含事件源的容器对象来担任监听者
    public class App14_4 extends JFrame implements ActionListener {
    	
    	static App14_4 frm = new App14_4();
    	static JPanel cardPan = new JPanel();	//使用卡片布局的容器
    	static JPanel btPan = new JPanel();		//使用网格布局容器
    	static CardLayout crd = new CardLayout(5,10);	//定义卡片布局对象crd
    	static JButton bt1 = new JButton("第一页");
    	static JButton bt2 = new JButton("上一页");
    	static JButton bt3 = new JButton("下一页");
    	static JButton bt4 = new JButton("最后页");
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		bt1.addActionListener(frm);		//向按钮们注册监听者frm
    		bt2.addActionListener(frm);
    		bt3.addActionListener(frm);
    		bt4.addActionListener(frm);
    		
    		//设置窗口
    		frm.setLayout(null);	
    		frm.setTitle("卡片式布局策略CardLayout");
    		frm.setSize(350,300);
    		frm.setResizable(false);
    		
    		//设置使用卡片布局的容器
    		cardPan.setLayout(crd);		
    		cardPan.setBounds(10, 10, 320, 200);
    		for(int i=1;i<=4;i++) {
    			cardPan.add(new JTextArea("第"+i+"页"));
    		}
    		
    		//设置使用网格布局的容器
    		btPan.setLayout(new GridLayout(1,4));
    		btPan.setBounds(10, 220, 320, 25);
    		btPan.add(bt1);
    		btPan.add(bt2);
    		btPan.add(bt3);
    		btPan.add(bt4);
    		
    		frm.add(cardPan);
    		frm.add(btPan);
    		frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frm.setVisible(true);
    	}
    	
    	public void actionPerformed(ActionEvent e) {
    		JButton bt = (JButton)e.getSource();
    		if(bt == bt1)
    			crd.first(cardPan);
    		else if(bt == bt2)
    			crd.previous(cardPan);
    		else if(bt == bt3)
    			crd.next(cardPan);
    		else
    			crd.last(cardPan);
    	}
    }
    
    
    展开全文
  • !... ...请问怎么实现卡片的切换:(我在容器中设了两个jpanel面板,第一个是卡片布局,里面放了五个组件;第二个面板放了五个按钮) 就是我想知道点击按钮,怎么切换到别的卡片???????
  • java卡片布局管理器

    2013-07-26 23:46:46
    卡片布局管理器 适合显示相册 就像扑克牌一样 每次只有最上面的一张扑克牌可见 package awt; import java.awt.*; import java.awt.event.*; public class Card { Frame f = new Frame("测试窗口...

    卡片布局管理器 适合显示相册 就像扑克牌一样  每次只有最上面的一张扑克牌可见      


    package awt;


    import java.awt.*;
    import java.awt.event.*;


    public class Card
    {
    Frame f = new Frame("测试窗口");
    String[] names = {"第一张" , "第二张" , "第三张" 
    , "第四张" , "第五张"};
    Panel pl = new Panel();
    public void init()
    {
    final CardLayout c = new CardLayout();//卡片布局管理器
    pl.setLayout(c);//设置布局管理器
    for (int i = 0 ; i < names.length ; i++)
    {
    pl.add(names[i] , new Button(names[i]));//全部添加进去
    }
    Panel p = new Panel();
    // 控制显示上一张的按钮
    Button previous = new Button("上一张");
    previous.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    c.previous(pl);
    }
    });
    // 控制显示下一张的按钮
    Button next = new Button("下一张");
    next.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    c.next(pl);
    }
    });
    // 控制显示第一张的按钮
    Button first = new Button("第一张");
    first.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    c.first(pl);
    }
    });
    // 控制显示最后一张的按钮
    Button last = new Button("最后一张");
    last.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    c.last(pl);
    }
    });
    // 控制根据Card名显示的按钮
    Button third = new Button("第三张");
    third.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    c.show(pl , "第三张");
    }
    });
    p.add(previous);
    p.add(next);
    p.add(first);
    p.add(last);
    p.add(third);
    f.add(pl);
    f.add(p , BorderLayout.SOUTH);
    f.pack();
    f.setVisible(true);
    }
    public static void main(String[] args) 
    {
    new Card().init();
    }
    }

    展开全文
  • import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TestCardLayout extends Frame implements ActionListener{ CardLayout card=new CardLayout(); Panel panelCard=new Panel(); ...
  • import java.awt.*; import java.awt.event.*; public class CardLayoutDemo extends Frame implements MouseListener{ private Button first=new Button("A"); private Button second=new Button("B"); ...
  • java swing 卡片布局

    2021-06-15 10:46:48
    cardlayout布局 package com.wch.cardlayout; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class cardTest extends JFrame implements MouseListener{ JPanel jp_left; JPanel jp_...
  • 主要介绍了Java Swing CardLayout卡片布局的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了Java编程使用卡片布局管理器,结合实例形式分析了java基于swing组件的卡片布局管理器具体实现与使用技巧,需要的朋友可以参考下
  • java swing 卡片布局测试

    千次阅读 2013-04-03 16:29:20
    import java.awt.*; import java.awt.event.*; public class CardLayoutWindow extends Frame implements ActionListener { Panel cards; CardLayout CLayout = new CardLayout(); public CardLayoutWind
  • CardLayout,卡片布局管理器。 它将容器中的每个组件看作一张卡片,一次只能看到一张卡片,容器则充当卡片的堆栈,默认显示第一张卡片。 CardLayout 构造方法 // 创建一个间距大小为 0 的卡片布局 ...
  • Java布局管理—卡片布局(CardLayout)

    千次阅读 2019-07-22 11:17:27
    卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件,通过CardLayout类提供的方法可以切换该空间中显示的组件。 构造方法: ...
  • CardLayout(卡片布局) CardLayout 布局管理器以时间而非空间来管理它里面的组件,它将加入容器的所有组件看成一叠卡片(每个卡片其实就是一个组件),每次只有最上面的那个 Component 才可见。就好像一副扑克牌,...
  • Java Swing中卡片布局

    2021-09-01 19:46:15
    } } 卡片布局的使用方法: pane.setLayout(new CardLayout()); pane.add(p1,"name");pane.add(p2,"name"); 在添加控件时,关联一个String作为名字,以便后边的控制 例如cardLayout.show(pane,"name");,这个方法...
  • 一个面板容器对象设置为卡片布局管理器,另一个面板容器对象设置为流式布局管理。在卡片布局管理当中添加四个卡片标签对象,在流式布局管理当中添加四个按钮。然后为按钮对象添加监听器对象,使得在点击按钮时,触发...
  • Java使用卡片布局管理器

    千次阅读 2012-07-12 04:33:08
    import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JBut
  • Java中的卡片布局(CardLayout)

    千次阅读 2019-07-19 14:47:42
    卡片布局可以通过点击窗口中的按钮切换不同的面板。 package menu; import java.awt.CardLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event....
  • JavaSwing_1.6: CardLayout(卡片布局

    万次阅读 多人点赞 2017-06-04 23:52:23
    CardLayout,卡片布局管理器。它将容器中的每个组件看作一张卡片,一次只能看到一张卡片,容器则充当卡片的堆栈,默认显示第一张卡片。
  • 转自: Java中CardLayout卡片布局管理器使用的小例子
  • 功能:把卡片布局使用到拆分窗口中,左边是点击的标签或按钮,而右边则是显示的卡片信息
  • 在A面板中输入并添加数据到List,在B面板中按照JTable加以显示,这怎么做?求大神告知方法?
  • ``` import java.awt.event....我这个程序是想输入一个数字 然后在卡片布局里加入相应个数的jpanel 这个jpanel的样子都要和那个p2一样 我用jpanel数组也没有用 虽然是for循环 但还是只添加了一个JPanel 求助 急用
  • CardLayout(卡片布局管理器)能够帮助用户实现多个成员共享同一个显不空间,并且一次只显示一个容器组件的内容。 CardLayout 布局管理器将容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一...
  • CardLayout(卡片布局) 1、CardLayout布局特征 卡片布局能让多个组件共享同一个空间。 共享空间的组件之间的关系就像一叠牌叠在一起,只显示最上层的组件。(一叠纸牌只能看到最上面的这张) 我们通过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,990
精华内容 2,796
关键字:

java卡片布局

java 订阅