How to Use CardLayout

Share it Please

/*Simple  card layout program
 in java frame*/

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

class Card extends Frame implements ActionListener
{
  Button b1,b2,b3,b4;
  Panel mainpanel,subpanel,p,pro,p1,p2,p3,cus,c1,c2,c3,back;
  Label l1,l2,l3,m1,m2,m3;
  TextField tf1,tf2,tf3,t1,t2,t3;
  CardLayout card;

  Card()
  {    
   card=new CardLayout();
   mainpanel=new Panel();
   mainpanel.setLayout(card);
   setTitle("CardLayout");
   setSize(500,500);
   setVisible(true);
 
     
   GridLayout g=new GridLayout(5,1);
   setLayout(g);
 
 
 
   pro=new Panel();
   pro.setLayout(new FlowLayout(FlowLayout.LEFT));
   l1=new Label("Product no.");
   tf1=new TextField(10);
   l2=new Label("Product name.");
   tf2=new TextField(10);
   l3=new Label("Product rate.");
   tf3=new TextField(10);
   b3=new Button("pback");
   pro.add(l1);
   pro.add(tf1);
   pro.add(l2);
   pro.add(tf2);
   pro.add(l3);
   pro.add(tf3);
   pro.add(b3);
   add(pro);
 
   cus=new Panel();
   cus.setLayout(new FlowLayout(FlowLayout.LEFT));
   m1=new Label("Customer no.");
   t1=new TextField(10);
   m2=new Label("Customer name.");
   t2=new TextField(10);
   m3=new Label("Customer address.");
   t3=new TextField(10);
   b4=new Button("cback");
   cus.add(m1);
   cus.add(t1);
   cus.add(m2);
   cus.add(t2);
   cus.add(m3);
   cus.add(t3);
   cus.add(b4);
   add(cus);

 
   p=new Panel();
   b1=new Button("Product");
   b2=new Button("Client");
   p.add(b1);
   p.add(b2);
   add(p);      
 
 
   subpanel=new Panel();
   subpanel.add(b1,"sub");
   subpanel.add(b2,"sub");
   add(subpanel);
       
   mainpanel.add(subpanel,"sub");  
   mainpanel.add(pro,"pro");
   mainpanel.add(cus,"cus");
 
   add(mainpanel);        
     
   b1.addActionListener(this);
   b2.addActionListener(this);
   b3.addActionListener(this);
   b4.addActionListener(this);
 

 
   addWindowListener(new MywindowAdapter());
  }
   
  public void actionPerformed(ActionEvent ae)
  {
      if(ae.getSource()==b1)
      {
          card.show(mainpanel,"pro");
      }
      if(ae.getSource()==b2)
      {
          card.show(mainpanel,"cus");      
      }
      if(ae.getSource()==b3)
      {
          card.show(mainpanel,"sub");      
      }
      if(ae.getSource()==b4)
      {
          card.show(mainpanel,"sub");      
      }
   
  }
 
  public static void main(String cd[])
  {
   new Card();
  }
 
 
  class MywindowAdapter extends WindowAdapter
  {
   public void windowClosing(WindowEvent we)
   {
     System.exit(0);
   }
  }
 
}