java中注册事件监听器

lst1.addMouseListener(new MouseAdapter(){代码块;})
的具体含义是???
与常见的lstq.addMouseListener(this);不同

lst1.addMouseListener(new MouseAdapter(){代码块;})
MouseAdapter()是个 适配器 里面帮你实现了MouseListener()的所有方法
所以在这里你只要对你需要的事件重写就可以了,不用写你用不到的方法

lstq.addMouseListener(this); 其中的 this 是继承MouseListener类的 一个类 里面 实现了 MouseListener 类里的 所有方法,即使是空实现 你也 必须 写出来 这 就是 2者 的 区别~~
懂了么~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-05
作用是一样的,只是形式不同而已

使用lstq.addMouseListener(this);的话,
程序中必定会有一个public MouseAdapter(){......}方法.方法中有多个监听器。
this只是此方法中的某个监听器。

第一种情况
lst1.addMouseListener(new MouseAdapter(){代码块;})
是为lst1添加了特定的一个的事件监听器,而不必另外再去写个public MouseAdapter()方法。
第2个回答  2010-04-05
AWT中提供的两种事件监听处理方法
1、通过实现XXXListener接口
2、通过继承XXXAdapter类

适配器(adapter)是实现XXXListener接口的抽象类。

2、通过adapter类来实现监听可以缩短程序代码,直接通过继承/内部类来实现处理方法。

3、但当需要多种监听器或该类已经有父类的时候,就不能通过适配器来实现事件监听。