Here is my code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GCalc extends JFrame
{
private JButton button1, button2, button3, button4, button5,
button6, button7, button8, button9, button0;
private JButton add, subtract, multiply, divide,
clear, dot, equals;
private JTextField display;
private final int windW = 400, windH = 400;
private String holder = "";
private boolean checknum1, checknum2, checkop, dcheck, dfill;
private double num1 , num2, finalResult, opholder;
public GCalc()
{
setTitle("Calculator");
setSize(windW,windH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
button1 = new JButton("1");
button2 = new JButton("2");
button3 = new JButton("3");
button4 = new JButton("4");
button5 = new JButton("5");
button6 = new JButton("6");
button7 = new JButton("7");
button8 = new JButton("8");
button9 = new JButton("9");
button0 = new JButton("0");
add = new JButton("+");
subtract = new JButton("-");
multiply = new JButton("*");
divide = new JButton("/");
clear = new JButton("C");
dot = new JButton(".");
equals = new JButton("=");
display = new JTextField("",32);
display.setEditable(false);
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
GridBagConstraints g2 = new GridBagConstraints();
GridBagConstraints g3 = new GridBagConstraints();
g2.fill = GridBagConstraints.HORIZONTAL;
g2.gridx = 0;
g2.gridy = 0;
g2.ipadx = 10;
g2.ipady = 20;
g2.gridwidth = 6;
add(display, g2);
gbc.ipadx = 30;
gbc.ipady = 30;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = 1;
add(button1, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
add(button2, gbc);
gbc.gridx = 2;
gbc.gridy = 1;
add(button3, gbc);
gbc.gridx = 0;
gbc.gridy = 2;
add(button4, gbc);
gbc.gridx = 1;
gbc.gridy = 2;
add(button5, gbc);
gbc.gridx = 2;
gbc.gridy = 2;
add(button6, gbc);
gbc.gridx = 0;
gbc.gridy = 3;
add(button7, gbc);
gbc.gridx = 1;
gbc.gridy = 3;
add(button8, gbc);
gbc.gridx = 2;
gbc.gridy = 3;
add(button9, gbc);
gbc.gridx = 1;
gbc.gridy = 4;
add(button0, gbc);
gbc.gridx = 4;
gbc.gridy = 1;
add(add, gbc);
gbc.gridx = 5;
gbc.gridy = 1;
add(subtract, gbc);
gbc.gridx = 4;
gbc.gridy = 2;
add(multiply, gbc);
gbc.gridx = 5;
gbc.gridy = 2;
add(divide, gbc);
gbc.gridx = 4;
gbc.gridy = 3;
add(dot, gbc);
g3.fill = GridBagConstraints.BOTH;
g3.gridx = 5;
g3.gridy = 3;
g3.gridheight = 4;
add(equals, g3);
gbc.gridx = 4;
gbc.gridy = 4;
add(clear, gbc);
button1.addActionListener(new bttnlisten());
button2.addActionListener(new bttnlisten());
button3.addActionListener(new bttnlisten());
button4.addActionListener(new bttnlisten());
button5.addActionListener(new bttnlisten());
button6.addActionListener(new bttnlisten());
button7.addActionListener(new bttnlisten());
button8.addActionListener(new bttnlisten());
button9.addActionListener(new bttnlisten());
button0.addActionListener(new bttnlisten());
dot.addActionListener(new bttnlisten());
clear.addActionListener(new bttnlisten());
add.addActionListener(new bttnlisten());
subtract.addActionListener(new bttnlisten());
multiply.addActionListener(new bttnlisten());
divide.addActionListener(new bttnlisten());
equals.addActionListener(new bttnlisten());
checknum1 = false;
checknum2 = false;
checkop = false;
dcheck = false;
dfill = false;
setVisible(true);
}
private class bttnlisten implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
// events for button1, num1
if(e.getSource() == button1 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 1;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button1 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 1;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button1 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.1;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button1 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.1;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button1 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "1";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button2, num1
if(e.getSource() == button2 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 2;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
else if(e.getSource() == button2 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 2;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button2 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.2;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button2 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.2;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button2 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "2";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button3, num1
if(e.getSource() == button3 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 3;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button3 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 3;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button3 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.3;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button3 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.3;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button3 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "3";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button4, num1
if(e.getSource() == button4 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 4;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button4 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 4;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button4 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.4;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button4 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.4;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button4 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "4";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button5, num1
if(e.getSource() == button5 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 5;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button5 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 5;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button5 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.5;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button5 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.5;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button5 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "5";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button6, num1
if(e.getSource() == button6 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 6;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button6 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 6;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button6 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.6;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button6 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.6;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button6 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "6";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button7, num1
if(e.getSource() == button7 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 7;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button7 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 7;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button7 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.7;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button7 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.7;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button7 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "7";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button8, num1
if(e.getSource() == button8 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 8;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button8 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 8;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button8 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.8;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button8 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.8;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button8 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "8";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button9, num1
if(e.getSource() == button9 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 9;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button9 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 9;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button9 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.9;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button9 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.9;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button9 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "9";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button0, num1
if(e.getSource() == button0 && checknum1 == false && checkop == false && checknum2 == false && dcheck == false)
{
num1 = 0;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
}
if(e.getSource() == button0 && checknum1 == true && checkop == false && checknum2 == false && dcheck == false)
{
num1 = num1 * 10 + 0;
holder = Double.toString(num1);
display.setText(holder);
}
if(e.getSource() == button0 && checknum1 ==false && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 = 0.0;
holder = Double.toString(num1);
display.setText(holder);
checknum1 = true;
dfill = true;
}
if(e.getSource() == button0 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == false)
{
num1 += 0.0;
holder = Double.toString(num1);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button0 && checknum1 == true && checkop == false && checknum2 == false && dcheck == true && dfill == true)
{
holder = Double.toString(num1) + "0";
num1 = Double.parseDouble(holder);
holder = Double.toString(num1);// for test
display.setText(holder);
}
// events for button1, num2
if(e.getSource() == button1 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 1;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button1 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 1;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button1 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.1;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button1 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.1;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button1 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "1";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button2, num2
if(e.getSource() == button2 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 2;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button2 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 2;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button2 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.2;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button2 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.2;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button2 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "2";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button3, num2
if(e.getSource() == button3 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 3;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button3 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 3;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button3 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.3;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button3 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.3;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button3 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "3";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button4, num2
if(e.getSource() == button4 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 4;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button4 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 4;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button4 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.4;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button4 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.4;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button4 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "4";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button5, num2
if(e.getSource() == button5 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 5;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button5 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 5;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button5 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.5;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button5 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.5;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button5 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "5";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button6, num2
if(e.getSource() == button6 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 6;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button6 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 6;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button6 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.6;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button6 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.6;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button6 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "6";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button7, num2
if(e.getSource() == button7 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 7;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button7 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 7;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button7 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.7;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button7 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.7;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button7 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "7";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button8, num2
if(e.getSource() == button8 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 8;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button8 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 8;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button8 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.8;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button8 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.8;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button8 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "8";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button9, num2
if(e.getSource() == button3 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 9;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button9 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 9;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button9 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.9;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button9 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.9;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button9 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "9";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
// events for button0, num2
if(e.getSource() == button0 && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 0;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
}
if(e.getSource() == button0 && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 = num2 * 10 + 0;
holder = Double.toString(num2);
display.setText(holder);
}
if(e.getSource() == button0 && checknum1 ==true && checkop == true && checknum2 == false && dcheck == true && dfill == false)
{
num2 = 0.0;
holder = Double.toString(num2);
display.setText(holder);
checknum2 = true;
dfill = true;
}
if(e.getSource() == button0 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == false)
{
num2 += 0.0;
holder = Double.toString(num2);
display.setText(holder);
dfill = true;
}
if(e.getSource() == button0 && checknum1 == true && checkop == true && checknum2 == true && dcheck == true && dfill == true)
{
holder = Double.toString(num2) + "0";
num2 = Double.parseDouble(holder);
display.setText(holder);
}
//event for dot
if(e.getSource() == dot && checknum1 == false && dcheck == false)
{
num1 = 0.0;
dcheck = true;
}
if(e.getSource() == dot && checknum1 == true && checkop== false && checknum2 == false && dcheck == false)
{
num1 += 0.0;
dcheck = true;
}
if(e.getSource() == dot && checknum1 == true && checkop == true && checknum2 == false && dcheck == false)
{
num2 = 0.0;
dcheck = true;
}
if(e.getSource() == dot && checknum1 == true && checkop == true && checknum2 == true && dcheck == false)
{
num2 += 0.0;
dcheck = true;
}
// event for first operators
if(e.getSource() == add && checkop == false)
{
checkop = true;
opholder = 1;
dcheck = false;
dfill = false;
}
if(e.getSource() == subtract && checkop == false)
{
checkop = true;
opholder = 2;
dcheck = false;
dfill = false;
}
if(e.getSource() == multiply && checkop == false)
{
checkop = true;
opholder = 3;
dcheck = false;
dfill = false;
}
if(e.getSource() == divide && checkop == false)
{
checkop = true;
opholder = 4;
dcheck = false;
dfill = false;
}
//event for extra operators
if(e.getSource() == add && checkop == true && checknum2 == true)
{
if(opholder == 1)
{
finalResult = num1 + num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 1;
dcheck = false;
dfill = false;
}
if(opholder == 2)
{
finalResult = num1 - num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 1;
dcheck = false;
dfill = false;
}
if(opholder == 3)
{
finalResult = num1 * num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 1;
dcheck = false;
dfill = false;
}
if(opholder == 4)
{
finalResult = num1 / num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 1;
dcheck = false;
dfill = false;
}
}
if(e.getSource() == subtract && checkop == true && checknum2 == true)
{
if(opholder == 1)
{
finalResult = num1 + num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 2;
dcheck = false;
dfill = false;
}
if(opholder == 2)
{
finalResult = num1 - num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 2;
dcheck = false;
dfill = false;
}
if(opholder == 3)
{
finalResult = num1 * num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 2;
dcheck = false;
dfill = false;
}
if(opholder == 4)
{
finalResult = num1 / num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 2;
dcheck = false;
dfill = false;
}
}
if(e.getSource() == multiply && checkop == true && checknum2 == true)
{
if(opholder == 1)
{
finalResult = num1 + num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 3;
dcheck = false;
dfill = false;
}
if(opholder == 2)
{
finalResult = num1 - num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 3;
dcheck = false;
dfill = false;
}
if(opholder == 3)
{
finalResult = num1 * num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 3;
dcheck = false;
dfill = false;
}
if(opholder == 4)
{
finalResult = num1 / num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 3;
dcheck = false;
dfill = false;
}
}
if(e.getSource() == divide && checkop == true && checknum2 == true)
{
if(opholder == 1)
{
finalResult = num1 + num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 4;
dcheck = false;
dfill = false;
}
if(opholder == 2)
{
finalResult = num1 - num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 4;
dcheck = false;
dfill = false;
}
if(opholder == 3)
{
finalResult = num1 * num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 4;
dcheck = false;
dfill = false;
}
if(opholder == 4)
{
finalResult = num1 / num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
opholder = 4;
dcheck = false;
dfill = false;
}
}
// event for equals
if(e.getSource() == equals && checknum1 == true && checkop == true && checknum2 == true && opholder == 1)
{
finalResult = num1 + num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
checkop = false;
}
if(e.getSource() == equals && checknum1 == true && checkop == true && checknum2 == true && opholder == 2)
{
finalResult = num1 - num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
checkop = false;
}
if(e.getSource() == equals && checknum1 == true && checkop == true && checknum2 == true && opholder == 3)
{
finalResult = num1 * num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
checkop = false;
}
if(e.getSource() == equals && checknum1 == true && checkop == true && checknum2 == true && opholder == 4)
{
finalResult = num1 / num2;
holder = Double.toString(finalResult);
display.setText(holder);
num1 = finalResult;
checknum2 = false;
checkop = false;
}
// event for clear
if(e.getSource() == clear)
{
checknum1 = false;
checknum2 = false;
checkop = false;
dcheck = false;
dfill = false;
num1 = 0;
num2 = 0;
opholder = 0;
holder = "";
display.setText(holder);
}
}
}
public static void main (String[] args)
{
new GCalc();
}
}

New Topic/Question
Reply


MultiQuote




|