我正在用 Java 制作一个按钮 ActionListener,并且
d1.addActionListener(this);
给了我一个关于“this”的错误,但是
d1.addActionListener((ActionListener) this);
有效。为什么我需要添加“(ActionListener)”?我在教程中看到第一个应该有效;为什么不适合我?
最佳答案
很简单,this
不是一个 ActionListener。您的类是否实现了 ActionListener 接口(interface)?编译器告诉您事实并非如此。
也就是说,这会起作用:
public class Foo implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
//....
}
}
但这不会
public class Bar {
}
关于Java addActionListener 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33859589/