Griglia e punti

Realizziamo un applet che disegna prima una griglia di linee a distanza 30 l'una dall'altra, e poi disegna un quadratino in ogni punto in cui viene premuto il pulsante del mouse.

La parte in cui si risponde al click è la stessa del programma PuntiMouse.java: l'effetto della pressione deve essere il disegno del rettangolo centrato intorno alla posizione corrente del mouse:

  public boolean mouseDown(Event e, int x, int y) {
    Graphics g=getGraphics();

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

    return true;
  }
La parte di disegno della griglia va eseguita subito, e non solo quando si preme il pulsante del mouse, per cui le istruzioni di disegno della griglia vanno messe all'interno del paint (la spiegazione di come si disegna la griglia è stata vista in una pagina precedente):

  public void paint(Graphics g) {
    int i, j;
    
    for(i=0; i<=300; i=i+30) {
      g.drawLine(0,i,300,i);
      g.drawLine(i,0,i,300);
    }
  }

Il programma DrawAndClick.java disegna una griglia, più un quadratino per ogni punto in cui si preme il pulsante.

/*
  Disegna nella finestra, e aggiunge quadrati dove
viene premuto il pulsante del mouse.
*/

import java.awt.*;

public class DrawAndClick 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;
  }

  public void paint(Graphics g) {
    int i, j;
    
    for(i=0; i<=300; i=i+30) {
      g.drawLine(0,i,300,i);
      g.drawLine(i,0,i,300);
    }
  }
}

Il risultato della esecuzione, premendo il pulsante in alcuni punti, è il seguente.