can not resolve symble

来源:百度知道 编辑:UC知道 时间:2024/06/27 14:01:59
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Testbutton extends Applet implements ActionListener
{
TextField text1,text2,text3;
Label label1,label2;
public void init()
{
text1=new TextField(5);
text2=new TextField(5);
text3=new TextField(5);
label1=new Label("+");
label2=new Label("=");
add(text1);
add(label1);
add(text2);
add(label2);
add(text3);
Button button1=new Button("确定");
button1.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
double n;
if(e.getSource()==button1)
{
double n1,n2;
n1=Double.valueOf(text1.getText()).doubleValue();
n2=Double.valueOf(text2.getText()).doubleValue();
n=n1+n2;
text3.setText(String.valueOf(n));
}
}
}

老是说if(e.getSource()==button1)中的button1有symble问题!!!
请问是什么原因?现在老郁闷了!解决半天了!

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Testbutton extends Applet implements ActionListener
{
TextField text1,text2,text3;
Label label1,label2;
Button button1=new Button("??");
public void init()
{
text1=new TextField(5);
text2=new TextField(5);
text3=new TextField(5);
label1=new Label("+");
label2=new Label("=");
add(text1);
add(label1);
add(text2);
add(label2);
add(text3);

button1.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
double n;
if(e.getSource()==button1)
{
double n1,n2;
n1=Double.valueOf(text1.getText()).doubleValue();
n2=Double.valueOf(text2.getText()).doubleValue();
n=n1+n2;
text3.setText(String.valueOf(n));
}
}
}

这样就可以了,你应该把button1的定义放到init外面,否则button1只能成为一个init()的局域变量,对actionPerformed() 这个变量将