您的位置:首页 > 编程语言 > Java开发

java--简易计算器图形实现

2013-10-02 09:03 232 查看
用java编写简易计算机很容易,但要实现图形化,就要增加一些组件,需要用到Applet

源代码如下:


package applet;

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class MicroComputer extends Applet implements ActionListener{

 Panel buttonPanel;

 TextField tf;

 Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bdot,bplus,bsub,bdiv,bmulti,bequal;

 String onDisplay="";//显示文本框中的字符串

 boolean isDotPressed=false;//.是否按下

 float input;//通过按键输入的数

 float input1,input2;//计算用的操作数

 char input3;//操作符

 float result;//计算结果

 int times=1;

 public void init(){

  setLayout(new BorderLayout(5,5));

  tf=new TextField(30);

  add(tf,BorderLayout.NORTH);

  buttonPanel=new Panel();

  buttonPanel.setLayout(new GridLayout(4,4,5,5));

  add(buttonPanel,BorderLayout.CENTER);

  b1=new Button("7");

  buttonPanel.add(b1);

  b1.addActionListener(this);

  b1.setActionCommand("7");

  b2=new Button("8");

  buttonPanel.add(b2);

  b2.addActionListener(this);

  b2.setActionCommand("8");

  b3=new Button("9");

  buttonPanel.add(b3);

  b3.addActionListener(this);

  b3.setActionCommand("9");

  bplus=new Button("/");

  buttonPanel.add(bplus);

  bplus.addActionListener(this);

  bplus.setActionCommand("/");

  b4=new Button("4");

  buttonPanel.add(b4);

  b4.addActionListener(this);

  b4.setActionCommand("4");

  b5=new Button("5");

  buttonPanel.add(b5);

  b5.addActionListener(this);

  b5.setActionCommand("5");

  b6=new Button("6");

  buttonPanel.add(b6);

  b6.addActionListener(this);

  b6.setActionCommand("6");

  bsub=new Button("*");

  buttonPanel.add(bsub);

  bsub.addActionListener(this);

  bsub.setActionCommand("*");

  b7=new Button("1");

  buttonPanel.add(b7);

  b7.addActionListener(this);

  b7.setActionCommand("1");

  b8=new Button("2");

  buttonPanel.add(b8);

  b8.addActionListener(this);

  b8.setActionCommand("2");

  b9=new Button("3");

  buttonPanel.add(b9);

  b9.addActionListener(this);

  b9.setActionCommand("3");

  bmulti=new Button("-");

  buttonPanel.add(bmulti);

  bmulti.addActionListener(this);

  bmulti.setActionCommand("-");

  b0=new Button("0");

  buttonPanel.add(b0);

  b0.addActionListener(this);

  b0.setActionCommand("0");

  bdot=new Button(".");

  buttonPanel.add(bdot);

  bdot.addActionListener(this);

  bdot.setActionCommand(".");

  bequal=new Button("=");

  buttonPanel.add(bequal);

  bequal.addActionListener(this);

  bequal.setActionCommand("=");

  bdiv=new Button("+");

  buttonPanel.add(bdiv);

  bdiv.addActionListener(this);

  bdiv.setActionCommand("+");

  

 }

 @Override

 public void actionPerformed(ActionEvent e) {

  String str=e.getActionCommand();

  char b=str.charAt(0);

  switch(b){

  case '0' :

  case '1' :

  case '2' :

  case '3' :

  case '4' :

  case '5' :

  case '6' :

  case '7' :

  case '8' :

  case '9' : onDisplay+=b;

  input=input*10+Integer.parseInt(str);

  if(isDotPressed) times*=10;

  tf.setText(onDisplay);

  break;

  case '.' : onDisplay+=b;

  isDotPressed=true;

  tf.setText(onDisplay);

  break;

  case '+' :

  case '-' :

  case '*' :

  case '/' : input3=b;

  input1=input/times;

  onDisplay="";

  times=1;

  isDotPressed=false;

  input=0;

  break;

  case '=': input2=input/times;

  switch(input3){

  case '+' :  result=input1+input2; break;

  case '-' :  result=input1-input2; break;

  case '*' :  result=input1*input2; break;

  case '/' :  result=input1/input2; break;

  }

  tf.setText(Float.toString(result));

  onDisplay="";

  times=1;

  isDotPressed=false;

  input=0;

  break;

  }

 }

 

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息