eCommerce Application using card Layout in java Swings


import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.SpinnerModel;
import javax.swing.SpinnerNumberModel;


public class Ecommerce extends JFrame implements ActionListener
{
 
      JButton b1,b2,b3,b4,b5,clear,book,pay;
     JSpinner spinner,spinner1,spinner2;
     JLabel l1,l2,l3,l4,l5,l6,l7;
     int Total_Bill;
     JTextField t1,t2,t3,t4;
     Font fnt=new Font("Arial",Font.BOLD,25);
     CardLayout cl= new CardLayout();
 
    JPanel Page1 = new JPanel();
 
    JPanel Page2 = new JPanel();
    JPanel Page3 = new JPanel();
     JPanel controlpanel = new JPanel();
    Ecommerce()
    {
     
        setVisible(true);
        setSize(550,650);
         add(controlpanel);
         controlpanel.setLayout(cl);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
//         ImageIcon pic = new ImageIcon("src/img/back.jpg");
//    Page3.add(new JLabel(pic));
//    this.pack();

       
       
          //button-1
         b1=new JButton(new ImageIcon("src/img/book.png")); //use your own images
         b1.setBounds(20,30,150,150);
         Page1.add(b1);
           l1=new JLabel("Rs.500/-");
         Page1.add(l1);
          l1.setBounds(60,180,50,30);
       
         SpinnerModel value =  new SpinnerNumberModel(0,  0,   10,   1);
          SpinnerModel value1 =  new SpinnerNumberModel(0,  0,   10,   1);
           SpinnerModel value2=  new SpinnerNumberModel(0,  0,   10,   1);
           
            spinner = new JSpinner(value); 
            spinner.setBounds(50,230,80,25);
            Page1.add(spinner);
            spinner.setEnabled(false);
       
         b2=new JButton(new ImageIcon("src/img/pen.png"));//use your own images
         b2.setBounds(180,30,150,150);
         Page1.add(b2);
       
         l2=new JLabel("Rs.250/-");
         Page1.add(l2);
          l2.setBounds(220,180,50,30);
       
          spinner1 = new JSpinner(value1); 
            spinner1.setBounds(210,230,80,25);
            Page1.add(spinner1);
          spinner1.setEnabled(false);
          clear=new JButton("Reset all");
        clear.setBounds(115,300,90,30);
         Page1.add(clear);
       
       
           book=new JButton("confirm");
        book.setBounds(225,300,90,30);
         Page1.add(book);
         book.setEnabled(false);
       
       
         b3=new JButton(new ImageIcon("src/img/bag.jpg"));//use your own images
         b3.setBounds(340,30,150,150);
         Page1.add(b3);
       
           l3=new JLabel("Rs.350/-");
         Page1.add(l3);
          l3.setBounds(380,180,50,30);
       
         spinner2 = new JSpinner(value2); 
            spinner2.setBounds(370,230,80,25);
            Page1.add(spinner2);
          spinner2.setEnabled(false);
 
         Page1.setLayout(null);
     
     
//         b4=new JButton("page2");
//         b4.setBounds(60,30,90,30);
//         Page2.add(b4);
       
   
       
     
//         b5=new JButton("page3");
//         b5.setBounds(20,90,90,30);
//         Page3.add(b5);
       
       
         l4=new JLabel("");
         Page2.add(l4);
         l4.setBounds(30,30,250,40);
         l4.setFont(fnt);
       
         l5=new JLabel("");
         Page2.add(l5);
         l5.setBounds(30,70,250,40);
           l5.setFont(fnt);
       
         l6=new JLabel("");
         Page2.add(l6);
         l6.setBounds(30,110,250,40);
           l6.setFont(fnt);
         
         l7=new JLabel("");
         Page2.add(l7);
         l7.setBounds(30,180,250,40);
           l7.setFont(fnt);
         
         
            pay=new JButton("Pay");
         pay.setBounds(80,240,70,30);
         Page2.add(pay);
         pay.addActionListener(this);
       
            t1=new JTextField("Card Number");
       t1.setBounds(80,120,160,30);
         Page3.add(t1);
       
            t2=new JTextField("Expire Date");
       t2.setBounds(80,155,80,30);
         Page3.add(t2);
       
                t3=new JTextField("CVV");
           t3.setBounds(170,155,70,30);
            Page3.add(t3);
       
       
       
       
            Page2.setLayout(null);
         Page3.setLayout(null);
       
   
         Page2.setBackground(Color.yellow);
         Page3.setBackground(Color.orange);
       
         controlpanel.add(Page1,"1");
         controlpanel.add(Page2,"2");
         controlpanel.add(Page3,"3");
 
         cl.show(controlpanel, "1");
       
         b1.addActionListener(this);
         b2.addActionListener(this);
         b3.addActionListener(this);
         clear.addActionListener(this);
         book.addActionListener(this);
       

    }
 

      @Override
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==b1)
        {
             b1.setEnabled(false);
             spinner.setEnabled(true);
              spinner.setValue(1);
              book.setEnabled(true);
        }
     
     
     
        if(e.getSource()==b2)
        {
             b2.setEnabled(false);
              spinner1.setEnabled(true);
             spinner1.setValue(1);
              book.setEnabled(true);
             
        }
     
        if(e.getSource()==b3)
        {
             b3.setEnabled(false);
             spinner2.setEnabled(true);
              spinner2.setValue(1);
              book.setEnabled(true);
        }
     
         if(e.getSource()==clear)
         {
                b1.setEnabled(true);
                b2.setEnabled(true);
                b3.setEnabled(true);
             
                spinner.setValue(0);
                spinner1.setValue(0);
                spinner2.setValue(0);
             
                 spinner.setEnabled(false);
                 spinner1.setEnabled(false);
                  spinner2.setEnabled(false);
                  book.setEnabled(false);
          }
       
         if(e.getSource()== book)
         {
             int n1=(Integer) spinner.getValue();
             int n2=(Integer) spinner1.getValue();
             int n3=(Integer) spinner2.getValue();
            // System.out.println("sum is:"+(n1*500+n2*250+n3*350));
         
            Total_Bill=(n1*500+n2*250+n3*350);
         
              cl.show(controlpanel, "2");
           
              l7.setText(String.valueOf("Total Bill is:"+Total_Bill));
           
             if(!b1.isEnabled())
             {
                    int count;
                    count=(Integer) spinner.getValue();
                    l4.setText(String.valueOf("Book: "+count)+"*500="+(500*count));
             }
           
             if(!b2.isEnabled())
             {
                    int count;
                    count=(Integer) spinner1.getValue();
                    l5.setText(String.valueOf("Pen:   "+count)+"*250="+(250*count));
             }
           
             if(!b3.isEnabled())
             {
                    int count;
                    count=(Integer) spinner2.getValue();
                    l6.setText(String.valueOf("Bag:   "+count)+"*350="+(350*count));
             }
           
         }
       
         if(e.getSource()==pay)
         {
              cl.show(controlpanel, "3");
         }
     
     
    }

    public static void main(String[] args)
    {
     Ecommerce ec=  new Ecommerce();
 
    }

}

output screenshots







0 Comments