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