Calculator.java
/** *This is a simple calculator program written in java. *@author Tapas kumar jena *@mail tapas.friends@gmail.com */ import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class Calculator extends JApplet { //initialization public void init() { CalculatorPanel calc = new CalculatorPanel(); getContentPane().add(calc); } } /* * This the class which actually makes the Calculator components and arrange them. */ class CalculatorPanel extends JPanel implements ActionListener { //Declare required components JButton n1,n2,n3,n4,n5,n6,n7,n8,n9,n0,plus,minus,mul,div,dot, equal; static JTextField result = new JTextField("0", 45); static String lastCommand = null; JOptionPane p = new JOptionPane(); double preRes = 0, secVal = 0, res; private static void assign(String no) { if ((result.getText()).equals("0")) result.setText(no); else if (lastCommand == "=") { result.setText(no); lastCommand = null; } else result.setText(result.getText() + no); } //Default constructor public CalculatorPanel() { setLayout(new BorderLayout()); result.setEditable(false); result.setSize(300, 200); add(result, BorderLayout.NORTH); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(4, 4)); n7 = new JButton("7"); panel.add(n7); n7.addActionListener(this); n8 = new JButton("8"); panel.add(n8); n8.addActionListener(this); n9 = new JButton("9"); panel.add(n9); n9.addActionListener(this); div = new JButton("/"); panel.add(div); div.addActionListener(this); n4 = new JButton("4"); panel.add(n4); n4.addActionListener(this); n5 = new JButton("5"); panel.add(n5); n5.addActionListener(this); n6 = new JButton("6"); panel.add(n6); n6.addActionListener(this); mul = new JButton("*"); panel.add(mul); mul.addActionListener(this); n1 = new JButton("1"); panel.add(n1); n1.addActionListener(this); n2 = new JButton("2"); panel.add(n2); n2.addActionListener(this); n3 = new JButton("3"); panel.add(n3); n3.addActionListener(this); minus = new JButton("-"); panel.add(minus); minus.addActionListener(this); dot = new JButton("."); panel.add(dot); dot.addActionListener(this); n0 = new JButton("0"); panel.add(n0); n0.addActionListener(this); equal = new JButton("="); panel.add(equal); equal.addActionListener(this); plus = new JButton("+"); panel.add(plus); plus.addActionListener(this); add(panel, BorderLayout.CENTER); }//constructor end //Define Actions and calculation part public void actionPerformed(ActionEvent ae) { if (ae.getSource() == n1) assign("1"); else if (ae.getSource() == n2) assign("2"); else if (ae.getSource() == n3) assign("3"); else if (ae.getSource() == n4) assign("4"); else if (ae.getSource() == n5) assign("5"); else if (ae.getSource() == n6) assign("6"); else if (ae.getSource() == n7) assign("7"); else if (ae.getSource() == n8) assign("8"); else if (ae.getSource() == n9) assign("9"); else if (ae.getSource() == n0) assign("0"); else if (ae.getSource() == dot) { if (((result.getText()).indexOf(".")) == -1) result.setText(result.getText() + "."); }else if (ae.getSource() == minus) { preRes = Double.parseDouble(result.getText()); lastCommand = "-"; result.setText("0"); }else if (ae.getSource() == div) { preRes = Double.parseDouble(result.getText()); lastCommand = "/"; result.setText("0"); }else if (ae.getSource() == equal) { secVal = Double.parseDouble(result.getText()); if (lastCommand.equals("/")) res = preRes / secVal; else if (lastCommand.equals("*")) res = preRes * secVal; else if (lastCommand.equals("-")) res = preRes - secVal; else if (lastCommand.equals("+")) res = preRes + secVal; result.setText(" " + res); lastCommand = "="; }else if (ae.getSource() == mul) { preRes = Double.parseDouble(result.getText()); lastCommand = "*"; result.setText("0"); }else if (ae.getSource() == plus) { preRes = Double.parseDouble(result.getText()); lastCommand = "+"; result.setText("0"); } }//actionPerformed end }The above prograam looks like below -
No Response to "Calculator Program"
Post a Comment