Java新手 菜鸟一枚,请问大神 报错f cannot be resolved,怎么修改
f 在wrw类中的main方法定义,其可见范围只在main方法中,所以后面addaction类中使用 f 就会报错:f cannot be resolved。
解决方法是通过匿名类的方式在main方法中添加Button的监听,示例代码如下:
import java.awt.*;
import java.awt.event.*;
public class Example {
public static void main(String[] args) {
Frame f = new Frame("ActionListener Example");
final TextField tf = new TextField();
tf.setBounds(50, 50, 150, 20);
Button b = new Button("Click Here");
b.setBounds(50, 100, 60, 30);
b.addActionListener(new ActionListener() { //这是关键代码
public void actionPerformed(ActionEvent e) {
tf.setText("Welcome to Here.");
}
});
f.add(b);
f.add(tf);
f.setSize(400, 400);
f.setLayout(null);
f.setVisible(true);
}
}
如果对您有帮助,请采纳答案好吗,谢谢!
回答下你问楼上的问题,注意传递参数就可以了,用匿名内部类只是更简洁更方便,另外,最好去学一下匿名内部类。