The AWT provides a number of adapter classes for the different EventListener
interfaces. These are:
ComponentAdapter
ContainerAdapter
FocusAdapter
KeyAdapter
MouseAdapter
MouseMotionAdapter
WindowAdapter
Each adapter class implements the corresponding interface with a series of do-nothing methods. For example, MouseListener
declares these five methods:
public abstract void mouseClicked(MouseEvent evt) public abstract void mousePressed(MouseEvent evt) public abstract void mouseReleased(MouseEvent evt) public abstract void mouseEntered(MouseEvent evt) public abstract void mouseExited(MouseEvent evt)
Therefore, MouseAdapter
looks like this:
package java.awt.event; import java.awt.*; import java.awt.event.*; public class MouseAdapter implements MouseListener { public void mouseClicked(MouseEvent evt) {} public void mousePressed(MouseEvent evt) {} public void mouseReleased(MouseEvent evt) {} public void mouseEntered(MouseEvent evt) {} public void mouseExited(MouseEvent evt) {} }
By subclassing MouseAdapter
rather than implementing MouseListener
directly, you avoid having to write the methods you don't actually need. You only override those that you plan to actually implement.