当前位置: 代码迷 >> Java相关 >> 请教匿名监听器的问题
  详细解决方案

请教匿名监听器的问题

热度:121   发布时间:2007-01-31 22:45:52.0
请教匿名监听器的问题

匿名监听器的优势在哪里?缺点又是什么?
为什么我用匿名监听器写JOptionPane时
jbt.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"成功"); //为什么参数不能用this,我这个this代表的是JFrame,符号: 方法 showMessageDialog(<匿名 java.awt.event.ActionListener>,java.lang.String)
位置: 类 javax.swing.JOptionPane
JOptionPane.showMessageDialog(this,"成功"); 报错,而null却正常编译呢?
}
}
);

搜索更多相关的解决方案: 监听  JOptionPane  匿名  java  awt  

----------------解决方案--------------------------------------------------------
优势是生成方便,你可以不为这个类取名字,

缺点是,用多了以后,你的代码可读性差


你为什么 不能用this,因为this指的是内部类的对象,它怎么可能是JFrame呢

你要指向外部类的对象可以这样

假设你的外部类名字叫MyFrame

那么你可以传进去MyFrame.this

它代表外部类的对象
----------------解决方案--------------------------------------------------------
谢谢你的指导,很容易让人明白,我从中又学到了点东西,后面的代码我会加以改进的
----------------解决方案--------------------------------------------------------
  相关解决方案