import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class CalculatorApplet extends Applet implements ActionListener
{
private Button keysArray[];
private Panel keyPad;
private TextField lcdField;
private double result;
private boolean first;
private boolean foundKey;
static boolean clearText;
private int prevOperator;
public void init()
{
lcdField = new TextField(20);
keyPad = new Panel ();
keysArray = new Button[17];
result = 0.0;
prevOperator = 0;
first = true;
clearText = true;
//Set frame layout manager setLayout(new BorderLayout());
lcdField.setEditable(false);
//Create buttons
for (int i = 0; i <=9; i++)
keysArray[i] = new Button(String.valueOf(i));
keysArray[10] = new Button("/");
keysArray[11] = new Button("*");
keysArray[12] = new Button("-");
keysArray[13] = new Button("+");
keysArray[14] = new Button("=");
keysArray[15] = new Button(".");
keysArray[16] = new Button("CLR");
//Set panel layout manager
keyPad.setLayout(new GridLayout (4,4));
//Add button to keyPad panel
for (int i = 7; i <=10; i++) //adds Button 7,8,9, and divide to
Panel
keyPad.add(keysArray[i]);
for (int i = 4; i <6; i++) //adds buttons 4,5,6 to Panel
keyPad.add(keysArray[i]);
keyPad.add(keysArray[11]); //adds multiply button to Panel
for (int i = 1; i <= 3;i++) //adds buttons 1,2 and 3 to Panel
keyPad.add(keysArray[i]);
keyPad.add(keysArray[12]);//adds minus button to Panel
{
case 10: //divide Button
result /= Double.valueOf(lcdField.getText()).
doubleValue();
break;
case 11: //multiply Button
result *= Double.valueOf(lcdField.getText()).
doubleValue();
break;
case 12: //minus button
result -= Double.valueOf(lcdField.getText()).
doubleValue();
break;
case 13: //plus button
result += Double.valueOf(lcdField.getText()).
doubleValue();
break;
}
lcdField.setText(Double.toString(result));
if (i==14)//equal button
first = true;
else
prevOperator = i; //save previous opetator
}
break;
case 16://Clear button
clearText = true;
first = true;
lcdField.setText("");
result = 0.0;
prevOperator = 0;
break;
}
}
}
}