这是一个计算器的小程序 用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("请输入字符!");
}
}
}
}
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("请输入字符!");
}
}
}
}
{
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);
}