Rilevazione del click del mouse

Gli applet visti fino ad ora si limitano a stampare qualcosa sullo schermo, e basta. In questa pagina vediamo in che modo un applet può reagire al click del mouse.

Quello che vogliamo fare, in generale, è dire all'interprete che ogni volta che viene premuto il tasto del mouse deve eseguire una sequenza di istruzioni. Il programma di esempio che vediamo è quello che disegna un quadratino nella posizione in cui si trova il cursore.

Un applet sensibile al click del mouse ha questa struttura:

import java.awt.*;

public class nomefile extends java.applet.Applet {
  public boolean mouseDown(Event e, int x, int y) {
    Graphics g=new Graphics();

    istruzioni

    return True;
  }
}
Le istruzioni sono quelle che vanno eseguite in risposta al click del mouse. Queste istruzioni possono utilizzare il contenuto delle due variabili x e y, in cui è memorizzata la posizione del cursore nel momento in cui è stato premuto il pulsante.

Nel caso in cui si vuole disegnare un quadratino ogni volta che viene premuto il pulsante, l'operazione da eseguire è una fillRect. Il programma che disegna i quadratini è PuntiMouse.java:

/*
  Disegna dei punti, sulla base del click del mouse
*/

import java.awt.*;

public class PuntiMouse extends java.applet.Applet {
  public boolean mouseDown(Event e, int x, int y) {
    Graphics g=getGraphics();

    g.fillRect(x-2,y-2,4,4);

    return true;
  }
}

La seguente immagine mostra come appare la finestra dopo che il pulsante è stato premuto su cinque punti diversi: in ogni punto è stato disegnato un quadratino.