这是一个计算器的小程序 用eclipse可以编辑 也能运行成功  可是为什么那个button按钮不能起到监听作用,运行后在面板上按运算按钮时没有结果显示   请高手指点  这个问题困扰我很久了 万分感谢import java.applet.Applet;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;public class jisuanqi  extends Applet  implements ActionListener  
{

Button  button1,button2,button3,button4;

Label  lable1;
TextField  text1,text2,text3;

public void init ()
{
         button1=new Button("乘法");
button2=new Button("除法");
button3=new Button("加法");
button4=new Button("减法");
TextField text1=new TextField("0",10);
TextField text2=new TextField("0",10);
TextField text3=new TextField("",10);
Label  lable1=new  Label("我的小计算器!");

add(button1);add(button2);add(button3);add(button4);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
add(lable1);

add(text1);add(text2);add(text3);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button1)
{
double  t1,t2,t3;
try
{  t1=Double.valueOf(text1.getText()).doubleValue();
  t2=Double.valueOf(text2.getText()).doubleValue();
  t3=t1*t2;
  text3.setText(""+t3);
}
catch(NumberFormatException  event)
{
text1.setText("请输入字符!");
}
}
else if(e.getSource()==button2)
{
double  t1,t2,t3;
try
{t1=Double.valueOf(text1.getText()).doubleValue();
t2=Double.valueOf(text2.getText()).doubleValue();
t3=t1/t2;
text3.setText(""+t3);
}
catch(NumberFormatException  event)
{
text1.setText("请输入字符!");
}


}
else if(e.getSource()==button3)
{
double  t1,t2,t3;
try
{t1=Double.valueOf(text1.getText()).doubleValue();
t2=Double.valueOf(text2.getText()).doubleValue();
t3=t1+t2;
text3.setText(""+t3);
}
catch(NumberFormatException  event)
{
text1.setText("请输入字符!");
}


}
else if(e.getSource()==button4)
{
double  t1,t2,t3;
try
{t1=Double.valueOf(text1.getText()).doubleValue();
t2=Double.valueOf(text2.getText()).doubleValue();
t3=t1-t2;
text3.setText(""+t3);
}
catch(NumberFormatException  event)
{
text1.setText("请输入字符!");
}

}

}
}

解决方案 »

  1.   

    一个小错误public void init ()

    button1=new Button("乘法");
    button2=new Button("除法");
    button3=new Button("加法");
    button4=new Button("减法");
    TextField text1=new TextField("0",10);
    TextField text2=new TextField("0",10);
    TextField text3=new TextField("",10);
    Label lable1=new Label("我的小计算器!");add(button1);add(button2);add(button3);add(button4);
    button1.addActionListener(this);
    button2.addActionListener(this);
    button3.addActionListener(this);
    button4.addActionListener(this);
    add(lable1);add(text1);add(text2);add(text3);
    }这样把你的text1,text2,text3变成了局部变量了
    造成了你的全局变量text1,text2,text3没有初始化
    改成
    public void init ()

    button1=new Button("乘法");
    button2=new Button("除法");
    button3=new Button("加法");
    button4=new Button("减法");
    text1=new TextField("0",10);
    text2=new TextField("0",10);
    text3=new TextField("",10);
    Label lable1=new Label("我的小计算器!");add(button1);add(button2);add(button3);add(button4);
    button1.addActionListener(this);
    button2.addActionListener(this);
    button3.addActionListener(this);
    button4.addActionListener(this);
    add(lable1);add(text1);add(text2);add(text3);
    }