為了進行事件處理,需要創(chuàng)建實現Listener接121的類,而在某些Listener接口中,聲明了很多抽象方法,為了實現這些接口,需要做很多工作,一一實現這些方法。例如在MouseListener接口中,聲明了下述抽象方法:
mouseClicked(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
在實現MouseI。istener接口的類中,必須同時實現這五個方法。
由于在某些情況下,實際關心的只是接口中的個別方法,因此為了編程方便,Java為那些聲明了多個方法的Listener接口提供了一個對應的適配器(Adapter)類。
在適配器類中實現了相應接1:3中的全部方法,只是方法的內容為空。例如MouseListener接口的形式如下:
public interface MouseListener extends EventListener {
public void mouseClicked(MouseEvent e);
public void mousePressed(MouseEvent e);
public void mouseReleased(MouseEvent e);
public void mouseEntered(MouseEvent e);
public void mouseExited(MouseEvent e);
}
與其對應的適配器為MouseAdapter:
public abstract class MouseAdapter implements MouseListener f
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){)
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
這樣,在創(chuàng)建新類時,就可以不實現接口,而是只繼承某個適當的適配器,并且覆蓋所關心的事件處理方法。程序8—4就是一個使用適配器的例子。
mouseClicked(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
在實現MouseI。istener接口的類中,必須同時實現這五個方法。
由于在某些情況下,實際關心的只是接口中的個別方法,因此為了編程方便,Java為那些聲明了多個方法的Listener接口提供了一個對應的適配器(Adapter)類。
在適配器類中實現了相應接1:3中的全部方法,只是方法的內容為空。例如MouseListener接口的形式如下:
public interface MouseListener extends EventListener {
public void mouseClicked(MouseEvent e);
public void mousePressed(MouseEvent e);
public void mouseReleased(MouseEvent e);
public void mouseEntered(MouseEvent e);
public void mouseExited(MouseEvent e);
}
與其對應的適配器為MouseAdapter:
public abstract class MouseAdapter implements MouseListener f
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){)
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
這樣,在創(chuàng)建新類時,就可以不實現接口,而是只繼承某個適當的適配器,并且覆蓋所關心的事件處理方法。程序8—4就是一個使用適配器的例子。

