import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class CalculatorApplet extends Applet implements ActionListener
{
private Button kArray[];
private Panel kpad
private TextField lcd;
private double res;
private boolean fst;
private boolean found;
static boolean clear;
private int prvoprtr;

public void initial()
{
  lcd = new TextField(20);
  keyPad = new Panel ();
  kArray = new Button[17];
  res = 0.0;
  prvoprtr = 0;
  fst = true;
  clear = true;

  //Set frame layout manager setLayout(new BorderLayout());

  lcd.setEditable(false);

  //Create buttons
  for (int m = 0; m <=9; m++)
   kArray[m] = new Button(String.valueOf(m));
   kArray[10] = new Button("/");
   kArray[11] = new Button("*");
   kArray[12] = new Button("-");
   kArray[13] = new Button("+");
   kArray[14] = new Button("=");
   kArray[15] = new Button(".");
   kArray[16] = new Button("CLR");

   //Set panel layout manager
   keyPad.setLayout(new GridLayout (4,4));

   //Add button to keyPad panel
   for (int m = 7; m <=10; m++) //adds Button 7,8,9, and divide to
Panel
    keyPad.add(kArray[m]);

   for (int m = 4; m <6; m++) //adds buttons 4,5,6 to Panel
    keyPad.add(kArray[m]);

   keyPad.add(kArray[11]); //adds multiply button to Panel

   for (int m = 1; m <= 3;m++) //adds buttons 1,2 and 3 to Panel
    keyPad.add(kArray[m]);

   keyPad.add(kArray[12]);//adds minus button to Panel

   keyPad.add(kArray[0]); //adds 0 key to Panel

   for (int m = 15; m >=13; m--)
    keyPad.add(kArray[m]); //adds decimal point, equal, and addition
ke
ys Panel

    add(lcd, BorderLayout.NORTH); //adds text field to top of
Frame
    add(keyPad, BorderLayout.CENTER); //adds Panel to center of Frame
    add(kArray[16], BorderLayout.EAST); //adds Clear key to right
side
of applet

    for(int m = 0; m < kArray.length; m++)
     kArray[m].addActionListener(this);
 }

 public void actionPerformed(ActionEvent a)
 {
 found = false;

 //Search for the key pressed
 for (int m = 0; m < kArray.length && !found; m++)
 if(a.getSource() == kArray[m]) //key match found
 {
  found = true;
  switch(m)
  {
  case 0: case 1: case 2: case 3: case 4: //number buttons
  case 5: case 6: case 7: case 8: case 9: //0-9
  case 15:
  if (clear)
  {
  lcd.setText("");
  clear = false;
}
lcd.setText(lcd.getText() +
kArray[m].getLabel());
break;

case 10:// divide button
case 11:// multiply button
case 12:// minus button
case 13:// plus button
case 14:// equal button
 clear = true;
 if (fst) // First operand
 {
 if(lcd.getText().length()==0)
  res = 0.0;
 else
  res = Double.valueOf(lcd.getText()).doubleValue();

fst = false;
              prvoprtr = m; //save previous operator
  }
    else //second operand already enter, so calculator total
    {
switch(prvoprtr)
{
case 10: //divide Button
 res /= Double.valueOf(lcd.getText()).
 doubleValue();
break;
case 11: //multiply Button
res *= Double.valueOf(lcd.getText()).
doubleValue();
break;
case 12: //minus button
res -= Double.valueOf(lcd.getText()).
doubleValue();
break;
case 13: //plus button
res += Double.valueOf(lcd.getText()).
doubleValue();
break;
 }
 lcd.setText(Double.toString(res));
 if (m==14)//equal button
  fst = true;
 else
  prvoprtr = m; //save previous opetator
  }
  break;

  case 16://Clear button
  clear = true;
  fst = true;
  lcd.setText("");
  res = 0.0;
  prvoprtr = 0;
  break;
  }
  }
  }
   }


0 comments to "CALCULATOR USING JAVA"

Post a Comment

Powered by Blogger.