Wednesday, June 1, 2016

Simle Calculator in Java Programming

Code of Simple Calculator in Java Programming




   
    import java.awt.EventQueue;
    import java.awt.GridLayout;
    import java.awt.BorderLayout;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.JButton;
    import java.awt.Container;
import java.awt.Dimension;

    public class SimpleCalc implements ActionListener{
        
        JFrame guiFrame;
        JPanel buttonPanel;
        JTextField numberCalc;
        int calcOperation = 0;
        int currentCalc;
      
     
        public static void main(String[] args) {
       
           
             EventQueue.invokeLater(new Runnable()
             {
               
                @Override
                 public void run()
                 {
                   
                     new SimpleCalc();       
                 }
             });
                
        }
      
        public SimpleCalc()
        {
            guiFrame = new JFrame();
          
         
            guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            guiFrame.setTitle("Simple Calculator");
            guiFrame.setSize(300,300);
        
       
          
          
            numberCalc = new JTextField();
            numberCalc.setPreferredSize(new Dimension(300,50));
            numberCalc.setHorizontalAlignment(JTextField.RIGHT);
          
          
            guiFrame.add(numberCalc, BorderLayout.NORTH);
          
            buttonPanel = new JPanel();
         
            buttonPanel.setLayout(new GridLayout(4,0)); 
            guiFrame.add(buttonPanel, BorderLayout.CENTER);
          
         
            for (int i=1;i<10;i++)
            {
                addButton(buttonPanel, String.valueOf(i));
            }

            JButton addButton = new JButton("+");
            addButton.setActionCommand("+");
          
            OperatorAction subAction = new OperatorAction(1);
            addButton.addActionListener(subAction);
          
            JButton subButton = new JButton("-");
            subButton.setActionCommand("-");
          
            OperatorAction addAction = new OperatorAction(2);
            subButton.addActionListener(addAction);
          
            JButton equalsButton = new JButton("=");
            equalsButton.setActionCommand("=");
            equalsButton.addActionListener(new ActionListener()
            {
                @Override
                public void actionPerformed(ActionEvent event)
                {
                    if (!numberCalc.getText().isEmpty())
                    {
                        int number = Integer.parseInt(numberCalc.getText());
                        if (calcOperation == 1)
                        {
                            int calculate = currentCalc  + number;
                            numberCalc.setText(Integer.toString(calculate));
                        }
                        else if (calcOperation == 2)
                        {
                            int calculate = currentCalc  - number;
                            numberCalc.setText(Integer.toString(calculate));
                        }
                    }
                }
            });
          
            buttonPanel.add(addButton);
            buttonPanel.add(subButton);
            buttonPanel.add(equalsButton);
            guiFrame.setVisible(true);
        }
      
        //All the buttons are following the same pattern
        //so create them all in one place.
        private void addButton(Container parent, String name)
        {
            JButton but = new JButton(name);
            but.setActionCommand(name);
            but.addActionListener(this);
            parent.add(but);
        }
      
     
        public void actionPerformed(ActionEvent event)
        {

            String action = event.getActionCommand();
          
        
            numberCalc.setText(action);     
        }
      
        private class OperatorAction implements ActionListener
        {
            private int operator;
          
            public OperatorAction(int operation)
            {
                operator = operation;
            }
          
            public void actionPerformed(ActionEvent event)
            {
                currentCalc = Integer.parseInt(numberCalc.getText());
                calcOperation = operator;
            }
        }
    }

 

No comments:

Post a Comment