在实现监听接口时,需要实现接口内所有方法,否则无法通过编译,有一种方法仅仅重载我们关心的方法,而不写我们不用的方法,那就是使用与接口对应的适配器类(Adapter)
java中提供了七个抽象适配器类,目的是在使这些具有很多方法的事件监听接口EvevtListener变成抽象类,在每个抽象类中,都已经实现了对应接口的每个方法,以后在编写响应程序时,改实现接口为适配器类名。
XXListener对应的适配器名为XXXAdapter
七个为:Component Mouse MouseMotion Window Container Focus Key
下面是一个使用适配器类响应鼠标进入或移除按钮的Applet程序
//UseAdapter.java /* <applet code = UseAdapter heght = 300 width = 200> </applet> */ import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class UseAdapter extends Applet { public void init(){ Button button = new Button("事件源按钮"); button.addMouseListener(new ButtonMouseAdapter()); add(button); } } class ButtonMouseAdapter extends MouseAdapter { public void mouseEntered(MouseEvent event) { System.out.println("Mouse Entered Button"); } public void mouseExited(MouseEvent event) { System.out.println("Mouse Exited Button"); } }
启动的html代码:
<html> <title>UseAdapter</title> <body> <applet code = UseAdapter.class width = 200 height = 300></applet> </body> </html>