addActionListener(this)
看书的时候看到这行代码,觉得很奇怪
不是一般写成
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
...
name.setText(selectedName);
}
});
要一个ActionListener对象,结果一看
public class YourClass implements ActionListener {
... // Other code for your class
public void actionPerformed(ActionEvent actionEvent) {
System.out.println("I was selected.");
}
// Code within some method
JButton button = new JButton(...);
button.addActionListener(this);
// More code within some method
}
自己的类都实现了ActionListener,当然就可以addActionListener(this)
不过在YourClass里面如果有很多Button的话,你就得在actionPerformed方法里实现区分它们的方法。
本文解析了Java中ActionListener接口的两种使用方式:一种是通过匿名内部类实现;另一种是在类自身实现该接口,并通过this作为监听器实例进行注册。后者在简化代码结构的同时,需要注意如何在actionPerformed方法中区分不同的按钮。
7752

被折叠的 条评论
为什么被折叠?



