Disegno a mano libera #2

Utilizzando gli adattatori scompaiono i metodi per gli eventi non utilizzati

import java.awt.*;
import java.awt.event.*;
 
public class ProvaDisegnoManoLibera
{
   public static void main(String[] args)
   {
      FrameManoLibera f=new FrameManoLibera("Disegno a mano libera");
                      f.setLocation(300,300);
                      f.setVisible(true);
   }
 
}
 
class FrameManoLibera extends    Frame
                      implements ActionListener,
                                 ItemListener
{   
    private Color[] cCOLORI=
    {
       Color.black    , Color.blue   , Color.cyan  , Color.darkGray, Color.gray, Color.green,
       Color.lightGray, Color.magenta, Color.orange, Color.pink    , Color.red , Color.white,
       Color.yellow 
    };
    private String[] sCOLORI=
    {
       "Nero"         , "Blu"    , "Azzurro"  , "Grigio scuro", "Grigio", "Verde" ,
       "Grigio chiaro", "Magenta", "Arancione", "Rosa"        , "Rosso" , "Bianco",
       "Giallo" 
    };
    
    Choice   sceltaColore;
    Color    coloreCorrente;      
    int      lastX,
             lastY;
    
    FrameManoLibera(String s)
    {
      this.setTitle(s);
      this.setSize(480,360);    
      this.setResizable(false);
      this.setLayout(new FlowLayout()); 
      this.addWindowListener(new WA());
      this.addMouseListener(new MA());
      this.addMouseMotionListener(new MMA());     
           
      sceltaColore  = new Choice();           sceltaColore.addItemListener(this);
                                              for(int i=0; i < sCOLORI.length; i++)
                                                  sceltaColore.add(sCOLORI[i]);
                                              this.add(sceltaColore);     
      Button pulisci= new Button("PULISCI");  pulisci.addActionListener(this);
                                              this.add(pulisci);          
      coloreCorrente=cCOLORI[0];                                             
   }
   
   public void actionPerformed(ActionEvent e)   // Button pulisci
   {
      Graphics cg=getGraphics();
      cg.clearRect(0, 0, getWidth(), getHeight());    
   }
   public void itemStateChanged(ItemEvent e)    // Choice sceltaColore
   {
      int indice=sceltaColore.getSelectedIndex();
      coloreCorrente=cCOLORI[indice];
   }
     
   class WA extends WindowAdapter               // classi locali per gli adattatori
   {                                            // della finestra e del mouse
      public void windowClosing(WindowEvent e) 
      {
          dispose(); 
      }
   }  
   class MA extends MouseAdapter
   {
      public void mousePressed(MouseEvent e)
      {
         lastX=e.getX();
         lastY=e.getY(); 
      }
   }
   class MMA extends MouseMotionAdapter
   {
      public void mouseDragged(MouseEvent e)
      {
         Graphics cg=getGraphics();
         cg.setColor(coloreCorrente);
         int x=e.getX();
         int y=e.getY();        
         cg.drawLine(lastX, lastY, x, y);
         lastX=x;
         lastY=y;
      }
   }
}

Osserva

WindowAdapter, MouseAdapter, MouseMotionAdapter