Pages

Labels

GUI Calculator Design in Java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Calculator extends JFrame implements ActionListener
{
    JTextField txt;
    JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12,btn13,btn14,btn15,btn16,btn17,btn18,btn19;
         String s1="",s2="",s3="",s4="",s5="";
      double n1=0;
      int t=0;
int d=0;
    Calculator()

    {
     

      txt=new JTextField(20);
     
      btn1=new JButton("1");
     
      btn2=new JButton("2");
      btn3=new JButton("3");
      btn4=new JButton("4");
      btn5=new JButton("5");
      btn6=new JButton("6");
      btn7=new JButton("7");
      btn8=new JButton("8");
      btn9=new JButton("9");
      btn10=new JButton("0");
      btn11=new JButton("+");
      btn12=new JButton("-");
      btn13=new JButton("*");
      btn14=new JButton("/");
      btn15=new JButton(".");
      btn16=new JButton("=");
      btn17=new JButton("BACKSPACE");
      btn18=new JButton("CE");
      btn19=new JButton("C");
     
      Container C=getContentPane();
      C.setLayout(new FlowLayout());

      setLayout(null);

      txt.setBounds(100,100,120,20);
      add(txt);
      btn1.setBounds(100,150,50,30);
      add(btn1);
      btn2.setBounds(170,150,50,30);
      add(btn2);
      btn3.setBounds(240,150,50,30);
      add(btn3);
      btn4.setBounds(310,150,50,30);
      add(btn4);
      btn5.setBounds(100,200,50,30);
      add(btn5);
      btn6.setBounds(170,200,50,30);
      add(btn6);
      btn7.setBounds(240,200,50,30);
      add(btn7);
      btn8.setBounds(310,200,50,30);
      add(btn8);
      btn9.setBounds(100,250,50,30);
      add(btn9);
      btn10.setBounds(170,250,50,30);
      add(btn10);
      btn11.setBounds(240,250,50,30);
      add(btn11);
      btn12.setBounds(310,250,50,30);
      add(btn12);
      btn13.setBounds(100,300,50,30);
      add(btn13);
      btn14.setBounds(170,300,50,30);
      add(btn14);
      btn15.setBounds(240,300,50,30);
      add(btn15);
      btn16.setBounds(310,300,50,30);
      add(btn16);
      btn17.setBounds(100,350,80,30);
      add(btn17);
      btn18.setBounds(200,350,50,30);
      add(btn18);
      btn19.setBounds(270,350,50,30);
      add(btn19);

      btn1. addActionListener(this);
      btn2. addActionListener(this);
      btn3. addActionListener(this);
      btn4. addActionListener(this);
      btn5. addActionListener(this);
      btn6. addActionListener(this);
      btn7. addActionListener(this);
      btn8. addActionListener(this);
      btn9. addActionListener(this);
      btn10. addActionListener(this);
      btn11. addActionListener(this);
      btn12. addActionListener(this);
      btn13. addActionListener(this);
      btn14. addActionListener(this);
      btn15. addActionListener(this);
      btn16. addActionListener(this);
      btn17. addActionListener(this);
      btn18. addActionListener(this);
      btn19. addActionListener(this);
    }
   
      public void actionPerformed(ActionEvent ae)
       {
       
       
            
           
       
       
        if(ae. getSource()==btn1)
          {
            txt.setText(txt.getText()+"1");
        }

        if(ae. getSource()==btn2)
        {
            txt.setText(txt.getText()+"2");
        }

        if(ae. getSource()==btn3)
        {
            txt.setText(txt.getText()+"3");
        }
       
        if(ae. getSource()==btn4)
        {
            txt.setText(txt.getText()+"4");
        }
            if(ae. getSource()==btn5)
          {
            txt.setText(txt.getText()+"5");
        }
        if(ae. getSource()==btn6)
          {
            txt.setText(txt.getText()+"6");
        }
        if(ae. getSource()==btn7)
          {
            txt.setText(txt.getText()+"7");
        }
        if(ae. getSource()==btn8)
          {
            txt.setText(txt.getText()+"8");
        }
        if(ae. getSource()==btn9)
          {
            txt.setText(txt.getText()+"9");
        }
        if(ae. getSource()==btn10)
          {
            txt.setText(txt.getText()+"0");
        }
        if(ae. getSource()==btn15)
          {
            txt.setText(txt.getText()+".");
        }
       
       
        if(ae. getSource()==btn11)
          {
            s1=txt.getText();
                        txt.setText("");
            t=1;
        }
        if(ae. getSource()==btn12)
          {
            s1=txt.getText();
                        txt.setText("");
            t=2;
        }
        if(ae. getSource()==btn13)
          {
            s1=txt.getText();
                        txt.setText("");
            t=3;
        }
        if(ae. getSource()==btn14)
          {
            s1=txt.getText();
                        txt.setText("");
            t=4;
        }
       
       
       
        if(ae. getSource()==btn17)
          {
            s1=txt.getText();
            d=s1.length();
            s2=s1.substring(0,d-1);
            txt.setText(String.valueOf(s2));
            t=7;
        }
        if(ae. getSource()==btn18)
          {
            s1=txt.getText();
                        txt.setText("");
            t=8;
        }
        if(ae. getSource()==btn19)
          {
            s1=txt.getText();
                        txt.setText("");
            t=9;
        }
       

        if(ae. getSource()==btn16)
        {
            if(t==1)
            {
              s2=txt.getText();
              n1=Double.parseDouble(s1)+Double.parseDouble(s2);
             
              txt.setText(String.valueOf(n1));
                      }
     
       
            if(t==2)
            {
              s3=txt.getText();
              n1=Double.parseDouble(s1)-Double.parseDouble(s3);
             
                  txt.setText(String.valueOf(n1));
                        }
       
            if(t==3)
            {
              s4=txt.getText();
              n1=Double.parseDouble(s1)*Double.parseDouble(s4);
             
              txt.setText(String.valueOf(n1));
                    }
           
       
            if(t==4)
            {
              s5=txt.getText();
              n1=Double.parseDouble(s1)/Double.parseDouble(s5);
             
                  txt.setText(String.valueOf(n1));
                        }
     
      }
      }
       
    public static void main (String args[])
         {
           Calculator obj=new Calculator();
           obj.setSize(600,500);
           obj.setVisible(true);
             }
}