為了進(jìn)行事件處理,需要?jiǎng)?chuàng)建實(shí)現(xiàn)Listener接121的類,而在某些Listener接口中,聲明了很多抽象方法,為了實(shí)現(xiàn)這些接口,需要做很多工作,一一實(shí)現(xiàn)這些方法。例如在MouseListener接口中,聲明了下述抽象方法:
mouseClicked(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
在實(shí)現(xiàn)MouseI。istener接口的類中,必須同時(shí)實(shí)現(xiàn)這五個(gè)方法。
由于在某些情況下,實(shí)際關(guān)心的只是接口中的個(gè)別方法,因此為了編程方便,Java為那些聲明了多個(gè)方法的Listener接口提供了一個(gè)對(duì)應(yīng)的適配器(Adapter)類。
在適配器類中實(shí)現(xiàn)了相應(yīng)接1:3中的全部方法,只是方法的內(nèi)容為空。例如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);
}
與其對(duì)應(yīng)的適配器為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)建新類時(shí),就可以不實(shí)現(xiàn)接口,而是只繼承某個(gè)適當(dāng)?shù)倪m配器,并且覆蓋所關(guān)心的事件處理方法。程序8—4就是一個(gè)使用適配器的例子。
mouseClicked(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
在實(shí)現(xiàn)MouseI。istener接口的類中,必須同時(shí)實(shí)現(xiàn)這五個(gè)方法。
由于在某些情況下,實(shí)際關(guān)心的只是接口中的個(gè)別方法,因此為了編程方便,Java為那些聲明了多個(gè)方法的Listener接口提供了一個(gè)對(duì)應(yīng)的適配器(Adapter)類。
在適配器類中實(shí)現(xiàn)了相應(yīng)接1:3中的全部方法,只是方法的內(nèi)容為空。例如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);
}
與其對(duì)應(yīng)的適配器為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)建新類時(shí),就可以不實(shí)現(xiàn)接口,而是只繼承某個(gè)適當(dāng)?shù)倪m配器,并且覆蓋所關(guān)心的事件處理方法。程序8—4就是一個(gè)使用適配器的例子。

