import java.awt.*;
import java.applet.Applet;
public class Calculator extends Applet {
Panel WholeArea;
TextField display;
Panel bottom;
Panel func_panel;
Panel num_panel;
Button clear_but;
Button number[] = new Button[10];
Button function[] = new Button[6];
float last_num = 0;
char last_func = ' ';
public boolean action(Event evt, Object what){
if(evt.target instanceof Button) {
char but_val = ((Button)evt.target).getLabel().charAt(0);
switch(but_val){
case '+':
case '*':
case '-':
case '/': last_num = Float.valueOf(display.getText()).floatValue();
last_func = but_val;
display.setText("");
break;
case 'C':
display.setText("0");
break;
case 's':
float curr_num = 0;
float result = 0;
curr_num = Float.valueOf(display.getText()).floatValue();
result = curr_num * curr_num;
display.setText(String.valueOf(result));
break;
case '=': curr_num = 0;
result = 0;
curr_num = Float.valueOf(display.getText()).floatValue();
if(last_func != ' '){
switch(last_func){
case '+' : result = last_num + curr_num;
break;
case '*' : result = last_num * curr_num;
break;
case '-' : result = last_num - curr_num;
break;
case '/' : result = last_num / curr_num;
break;
}
last_num = result;
display.setText(String.valueOf(result));
} break;
default : if(display.getText() == "0")
display.setText("");
display.setText(display.getText() + but_val);
}// end of switch
return true;
} // end of if
return false;
}
public void init() {
WholeArea = new Panel();
WholeArea.setLayout(new GridLayout(3, 1));
display = new TextField(10);
WholeArea.add(display);
clear_but = new Button("Clear");
WholeArea.add(clear_but);
bottom = new Panel();
bottom.setLayout(new BorderLayout());
num_panel = new Panel();
num_panel.setLayout(new GridLayout(4,3));
for(int i=7; i>0; i=i-3) {
for(int j=0; j<3; j++){
number[i+j] = new Button((new String()).valueOf(i+j));
num_panel.add(number[i+j]);
}
}
number[0] = new Button((new String()).valueOf(0));
num_panel.add(number[0]);
function[4] = new Button("sqrt");
num_panel.add(function[4]);
function[5] = new Button("=");
num_panel.add(function[5]);
bottom.add("Center", num_panel);
func_panel = new Panel();
func_panel.setLayout(new GridLayout(4, 1));
function[0] = new Button("+");
func_panel.add(function[0]);
function[1] = new Button("-");
func_panel.add(function[1]);
function[2] = new Button("*");
func_panel.add(function[2]);
function[3] = new Button("/");
func_panel.add(function[3]);
bottom.add("East", func_panel);
WholeArea.add(bottom);
add(WholeArea);
}
}