Applet > Disegno a mano libera

Vedi la versione AWT.

Il tuo browser non gestisce correttamente l’applicazione.

import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
 
public class AppletDisegnoAManoLibera extends    Applet
                                      implements MouseListener,
                                                 MouseMotionListener,
                                                 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;
    
    public void init()   
    {
      this.addMouseListener(this);
      this.addMouseMotionListener(this);     
           
      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) { 
                                                  Graphics cg=getGraphics();
                                                  cg.clearRect(0, 0, getWidth(), getHeight());    
                                               }
    public void itemStateChanged(ItemEvent e)  { 
                                                  int indice=sceltaColore.getSelectedIndex();
                                                  coloreCorrente=cCOLORI[indice];
                                               }    
                                               
    public void mousePressed(MouseEvent e)     { 
                                                  lastX=e.getX();
                                                  lastY=e.getY(); 
                                               }
    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;  
                                               }                                               
   public void mouseReleased(MouseEvent e)     {} // eventi non utilizzati
   public void mouseEntered(MouseEvent e)      {}  
   public void mouseExited(MouseEvent e)       {}                            
   public void mouseMoved(MouseEvent e)        {}
   public void mouseClicked(MouseEvent e)      {}      
}