b1.addActionListener(new ActionListener(){

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:59:03
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
n=0;
cardLabel.setIcon(icon[n]);
b2.setEnabled(true);
b3.setEnabled(false);
}
});
这段代码中new ActionListener()是不是在实例化ActionListener对象啊?
ActionListener是接口应该不可以实例化对象的呀!我不明白啊??
再给我说说addActionListener 和actionPerformed以及ActionEvent e这三个的意思用途?它们属于哪个类??
回答好的万分感谢 没积分了 谢谢

new ActionListener()
这个是匿名类的用法,匿名类是内部类的一种.
下面这段代码
new ActionListener(){
public void actionPerformed(ActionEvent e){
n=0;
cardLabel.setIcon(icon[n]);
b2.setEnabled(true);
b3.setEnabled(false);
}
}

相当于声明了一个实现了ActionListener接口的对象..(因为可以看到其中的方法都被重写实现了.)

更多具体细节,可以参考java 匿名类的使用