/** * * HANDLING BUTTON EVENTS * * */
@Override public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
String str = e.getActionCommand();
setSecondNumber(jnumber.getText()); //temporary save first number
checkNumber(jnumber.getText()); //CHECK IF NUMBER FIELD NEEDS TO BE CLEARED
if(str.equals("0"))
{
updateFinalNumber("0");
//UPDATE THE NUMBER TEXTFIELD
} if(str.equals("1"))
{
updateFinalNumber("1");
} if(str.equals("2"))
{
updateFinalNumber("2");
}
if(str.equals("3"))
{
updateFinalNumber("3"); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("4"))
{
updateFinalNumber("4"); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("5"))
{
updateFinalNumber("5"); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("6"))
{
updateFinalNumber("6"); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("7"))
{
updateFinalNumber("7"); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("8"))
{
updateFinalNumber("8"); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("9"))
{
updateFinalNumber("9"); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("."))
{
updateFinalNumber("."); //UPDATE THE NUMBER TEXTFIELD
}
if(str.equals("+/-")) //INVERSE THE SIGN
{
changeSign(jnumber.getText()); //INVERSE THE SIGN OF NUMBER
}
if(str.equals("+"))
{
clearNumber();
updateCalculation(""+getSecondNumber()+" + ");
setOperator("+"); // LOG THE CALCULATION TYPE
if(!isCalculationStarting()) {
boolean done = doCalcution("+",getSecondNumber()); //DOCALCULATION
if(done)
{
jnumber.setText(" "+getAnswer()); // UPDATE THE ANSWER
}
}
else {
//DO NOTHING JUST CLEAR THE NUMBER
setCalculationStarted(); //NEXT TIME CONTINUE TO CALCULATE
setAnswer(getSecondNumber()); //THE FIRST NUMBER BECOMES THE ANSWER
}
}
if(str.equals("-"))
{
setOperator("-");
clearNumber();
updateCalculation(""+getSecondNumber()+" - ");
if(!isCalculationStarting())
{
boolean done = doCalcution("-",getSecondNumber()); //DO CALCULATION
if(done)
{
jnumber.setText(" "+getAnswer()); // UPDATE THE ANSWER
}
}
else
{
//DO NOTHING JUST CLEAR THE NUMBER
setCalculationStarted(); //NEXT TIME CONTINUE TO CALCULATE
setAnswer(getSecondNumber()); //THE FIRST NUMBER BECOMES THE ANSWER
}
}
if(str.equals("*"))
{
setOperator("*");
clearNumber();
updateCalculation(""+getSecondNumber()+" * ");
if(!isCalculationStarting())
{
boolean done = doCalcution("*",getSecondNumber()); //DOCALCULATION
if(done)
{
jnumber.setText(" "+getAnswer()); // UPDATE THE ANSWER
}
}
else
{
//DO NOTHING JUST CLEAR THE NUMBER
setCalculationStarted(); //NEXT TIME CONTINUE TO CALCULATE
setAnswer(getSecondNumber()); //THE FIRST NUMBER BECOMES THE ANSWER
}
}
if(str.equals("/"))
{
setOperator("/");
clearNumber();
updateCalculation(""+getSecondNumber()+" / ");
if(!isCalculationStarting())
{
boolean done = doCalcution("/",getSecondNumber()); //DOCALCULATION
if(done)
{
jnumber.setText(" "+getAnswer()); // UPDATE THE ANSWER
}
} else
{ //DO NOTHING JUST CLEAR THE NUMBER
setCalculationStarted(); //NEXT TIME CONTINUE TO CALCULATE
setAnswer(getSecondNumber()); //THE FIRST NUMBER BECOMES THE ANSWER
}
}
if(str.equals("="))
{
processEqualsTo();
}
if(str.equals("+/-")) //CLEAR SCREEN
{
changeSign(jnumber.getText());// CHANGE SIGN
}
if(str.equals("C")) //CLEAR SCREEN
{
ClearValues(); // CLEAR SCREEN
}
if(str.equals("CE"))
{
clearLastEntry(); //CALL FUNCTION TO CLEAR LAST CHARACTER
}
if(str.equals("<"))
{
try {
EvokeBackSpace();//PRESS A BACKSPACE BUTTON PROGRAMMATICALLY
} catch (AWTException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}