应该是不能这么调用
要是嵌入到网页中显示应该用applet
package javaee;
import java.awt.*;
import java.applet.*;
public class Calculator extends Applet{
private TextField tfAnswer;
private Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
private Button bPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision;
private String OperatorCurrent,OperatorPre;
private String ForeScreen,BackScreen;
private boolean isFloat=false;
public void init(){
OperatorCurrent=new String("");
OperatorPre=new String("");
ForeScreen=new String("");
BackScreen=new String("");
this.setBackground(Color.gray);
this.setForeground(Color.blue);
setLayout(null);
tfAnswer=new TextField();
tfAnswer.setBounds(5,5,150,20);
this.add(tfAnswer);
bClear=new Button("C");
bClear.setBounds(5,30,20,20);
bClear.setBackground(Color.green);
this.add(bClear);
bDivision=new Button("/");
bDivision.setBounds(30,30,20,20);
bDivision.setBackground(Color.green);
this.add(bDivision);
bMulti=new Button("*");
bMulti.setBounds(55,30,20,20);
bMulti.setBackground(Color.green);
this.add(bMulti);
bMinus=new Button("-");
bMinus.setBounds(80, 30, 20, 20);
bMinus.setBackground(Color.green);
this.add(bMinus);
b7=new Button("7");
b7.setBounds(5,55,20,20);
this.add(b7);
b7.setBackground(Color.magenta);
b8=new Button("8");
b8.setBounds(30, 55, 20, 20);
this.add(b8);
b9=new Button("9");
b9.setBounds(55, 55, 20, 20);
b9.setBackground(Color.magenta);
this.add(b9);
b4=new Button("4");
b4.setBounds(5,80,20,20);
this.add(b4);
b5=new Button("5");
b5.setBounds(30, 80, 20, 20);
b5.setBackground(Color.red);
this.add(b5);
b6=new Button("6");
b6.setBounds(55, 80, 20, 20);
this.add(b6);
bPlus=new Button("+");
bPlus.setBounds(80, 55, 20, 45);
bPlus.setBackground(Color.green);
this.add(bPlus);
b1=new Button("1");
b1.setBounds(5,105,20,20);
b1.setBackground(Color.orange);
this.add(b1);
b2=new Button("2");
b2.setBounds(30, 105, 20, 20);
this.add(b2);
b3=new Button("3");
b3.setBounds(55, 105, 20, 20);
b3.setBackground(Color.orange);
this.add(b3);
b0=new Button("0");
b0.setBounds(5, 130, 45, 20);
b0.setBackground(Color.yellow);
this.add(b0);
bPoint=new Button(".");
bPoint.setBounds(55, 130, 20, 20);
bPoint.setBackground(Color.yellow);
this.add(bPoint);
bEqual=new Button("=");
bEqual.setBounds(80, 105, 20, 20);
bEqual.setBackground(Color.green);
this.add(bEqual);
}
public boolean action(Event e,Object o){
String s=new String("");
if((e.target==b0)||(e.target==b1)||(e.target==b2)||(e.target==b3)||(e.target==b4)||(e.target==b5)||(e.target==b6)
||(e.target==b7)||(e.target==b8)||(e.target==b9)||(e.target==bPoint)){
if(e.target!=bPoint)
{
s=(String)o;
System.out.print(s);
doForeScreen(s);
}
if((e.target==bPoint)&&(!isFloat))
{
isFloat=true;
s=(String)o;
if(ForeScreen.equals(""))
{
ForeScreen+="0.";
repaint();
}
else
{
System.out.print(s);
doForeScreen(s);
}
}
}
if(e.target==bClear)
{
doClear();
}
if((e.target==bMulti)||(e.target==bDivision)||(e.target==bPlus)||(e.target==bMinus))
{
if(ForeScreen!="")
{
OperatorCurrent=((String)o);
doOperator();
System.out.print((String)o);
}
else
{
OperatorPre=((String)o);
}
}
if(e.target==bEqual)
{
doOperator();
}
return true;
}
public void doOperator(){
double dFore,dBack;
Double d;
if(OperatorPre.equals(""))
{
BackScreen=ForeScreen;
ForeScreen="";
tfAnswer.setText(BackScreen);
repaint();
}
else
{
dFore=(new Double(ForeScreen)).doubleValue();
dBack=(new Double(BackScreen)).doubleValue();
ForeScreen="";
BackScreen=tfAnswer.getText();
if(OperatorPre.equals("+"))
{
d=new Double((dBack+dFore));
tfAnswer.setText(d.toString());
BackScreen=d.toString();
repaint();
}
if(OperatorPre.equals("-"))
{
d=new Double((dBack-dFore));
tfAnswer.setText(d.toString());
BackScreen=d.toString();
repaint();
}
if(OperatorPre.equals("*"))
{
d=new Double((dBack*dFore));
tfAnswer.setText(d.toString());
BackScreen=d.toString();
repaint();
}
if(OperatorPre.equals("/"))
{
d=new Double((dBack/dFore));
tfAnswer.setText(d.toString());
BackScreen=d.toString();
repaint();
}
}
OperatorPre=OperatorCurrent;
repaint();
}
public void paint(Graphics g)
{
}
public void doForeScreen(String s)
{
ForeScreen +=s;
tfAnswer.setText(ForeScreen);
repaint();
}
public void doBackScreen(String s)
{
BackScreen=ForeScreen;
ForeScreen="";
tfAnswer.setText(ForeScreen);
repaint();
}
public void doClear()
{
OperatorCurrent="";
OperatorPre="";
ForeScreen="";
BackScreen="";
isFloat=false;
tfAnswer.setText(ForeScreen);
repaint();
}
}
温馨提示:内容为网友见解,仅供参考