import java.awt.*;         // Le classi per il disegno
import java.applet.Applet; // La superclasse

public class mouse extends Applet {

private final int MAXX = 250; // Massima estensione in X (verso destra)
private final int MAXY = 150; // Massima estensione in Y (verso il basso)
private int xo = 0;           // Coordinate correnti dell'immagine
private int yo = 0;
private Image dot = null;     // L'immagine da muovere sullo schermo

  public void init () {                         // Metodo chiamato all'avvio dell'applet
    dot = getImage(getCodeBase(), "lista.gif"); // Lancia il caricamento dell'immagine
  }
	
  public boolean mouseMove (Event evt, int x, int y) { // Risponde al mouse
    xo = (xo + x) / 2;         // La nuova x e' la media tra la posizione attuale e quella del mouse
    if (xo > MAXX) xo = MAXX;  // Se supera il massimo, la fermo al massino
    yo = (yo + y) / 2;         // La nuova y e' la media tra la posizione attuale e quella del mouse
    if (yo > MAXY) yo = MAXY;  // Se supera il massimo, la fermo al massino
    repaint ();                // Ordino di ridisegnare l'area dell'Applet
    return true;               // Ritorno 'true' per dire che ho gestito l'evento
  }
	
  synchronized public void paint(Graphics g) { // Metodo invocato per ridisegnare l'Applet
    g.drawImage (dot, xo, yo, this);           // Disegna l'immagine alle coordinate memorizzate
  }
}

