Hey guys. Once again I am making a calculator like I do so much. I ran into an error with this program though. I just couldn't figure out how to make the operators work. I want this calculator to be like a standard calculator on http://calculator.com/ So how do I do this? Here is my source code:
And also hi everyone because I haven't seen you in a long time.
Code:
/****************************** ** Program Name: Calculator ** ** Date: June 3rd, 2008 ** ** Author: Edward Sanger ** ******************************/ import javax.swing.*; import java.awt.*; import java.awt.event.*; abstract public class calculator implements ActionListener { public static void main(String[] args) { //declare variables final JFrame frame; final JTextField num; final JButton add, subtract, multiply, divide; final JButton zero, one, two, three, four, five, six, seven, eight, nine; final JButton decimal, clear; Container contentPane; //create a new JFrame and set its title to "Calculator" frame = new JFrame(); frame.setTitle("Calculator"); //set the frames layout frame.setLayout(null); //create a new container contentPane = frame.getContentPane(); //create components num = new JTextField("", 20); add = new JButton("+"); subtract = new JButton("-"); multiply = new JButton("*"); divide = new JButton("/"); zero = new JButton("0"); one = new JButton("1"); two = new JButton("2"); three = new JButton("3"); four = new JButton("4"); five = new JButton("5"); six = new JButton("6"); seven = new JButton("7"); eight = new JButton("8"); nine = new JButton("9"); decimal = new JButton("."); clear = new JButton("c"); //make num uneditable num.setEditable(false); //apply the components contentPane.add(num); contentPane.add(one); contentPane.add(two); contentPane.add(three); contentPane.add(four); contentPane.add(five); contentPane.add(six); contentPane.add(seven); contentPane.add(eight); contentPane.add(nine); contentPane.add(zero); contentPane.add(add); contentPane.add(subtract); contentPane.add(multiply); contentPane.add(divide); contentPane.add(decimal); contentPane.add(clear); //set the bounds for all the components num.setBounds(20, 20, 225, 50); one.setBounds(20, 200, 50, 50); two.setBounds(80, 200, 50, 50); three.setBounds(140, 200, 50, 50); four.setBounds(20, 140, 50, 50); five.setBounds(80, 140, 50, 50); six.setBounds(140, 140, 50, 50); seven.setBounds(20, 80, 50, 50); eight.setBounds(80, 80, 50, 50); nine.setBounds(140, 80, 50, 50); zero.setBounds(20, 260, 50, 50); decimal.setBounds(80, 260, 50, 50); clear.setBounds(140, 260, 50, 50); add.setBounds(200, 260, 50, 50); subtract.setBounds(200, 200, 50, 50); multiply.setBounds(200, 140, 50, 50); divide.setBounds(200, 80, 50, 50); //set the events to happen for the buttons one.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent one) { String number; number = num.getText(); num.setText("" + number + 1); } }); two.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent two) { String number; number = num.getText(); num.setText("" + number + 2); } }); three.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent three) { String number; number = num.getText(); num.setText("" + number + 3); } }); four.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent four) { String number; number = num.getText(); num.setText("" + number + 4); } }); five.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent five) { String number; number = num.getText(); num.setText("" + number + 5); } }); six.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent seven) { String number; number = num.getText(); num.setText("" + number + 6); } }); seven.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent seven) { String number; number = num.getText(); num.setText("" + number + 7); } }); eight.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent eight) { String number; number = num.getText(); num.setText("" + number + 8); } }); nine.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent nine) { String number; number = num.getText(); num.setText("" + number + 9); } }); zero.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent zero) { String number; number = num.getText(); num.setText("" + number + 0); } }); decimal.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent decimal) { String number; number = num.getText(); num.setText("" + number + "."); } }); clear.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent clear) { num.setText(""); } }); add.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent add) { } }); //frame settings frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setSize(300, 375); frame.setVisible(true); } }
Comment