Skip to main content
ZTSolutions

HANDLING BUTTON EVENTS

/** * * 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(); 			
} 		
} 	
}