Un applet che disegna delle linee

Vediamo ora un semplice uso degli applet, ossia quello di fare dei disegni geometrici. Il punto fondamentale è che ogni finestra è composta da un numero finito di punti, detti pixel. Per poter fare riferimento a un punto (per esempio per poter disegnare una linea che parte da un pixel e arriva a un altro) esiste un sistema di coordinate in Java. Una finestra viene vista come un piano cartesiano, in cui l'origine si trova in alto a destra, e le coordinate Y procedono scendendo invece di salire.

Nell'esempio, è stato evidenziato il pixel che ha coordinate (6,5). Il pixel di coordinate (0,0) è quello più in alto e più a sinistra della finestra. La coordinata X aumenta muovendosi verso destra, mentre la coordinata Y aumenta andando verso il basso. Questo secondo punto va ricordato, dal momento che nel normale piano cartesiano la coordinata Y aumenta nell'altra direzione.

Il sistema di coordinate permette di specificare delle posizioni nella finestra, e quindi permette di fare dei disegni. Per disegnare una linea fra due punti di coordinate (a,b) e (c,d), in Java si usa la funzione drawLine(a,b,c,d). Per poter chiamare questa funzione, occorre prependere l'argomento della funzione paint, ossia quello che sta fra parentesi dopo il Graphics, in questo caso g (ma si può usare un qualsiasi altro nome). Se usiamo lo schema visto sopra, per disegnare una linea si fa g.drawLine(a,b,c,d).

L'applet DueLinee.java disegna due linee.

/*
  Un semplice applet: due linee in diagonale.
*/

import java.awt.*;

public class DueLinee extends java.applet.Applet {
  public void paint(Graphics g) {
    g.drawLine(0, 0, 100, 100);
    g.drawLine(0, 100, 100, 0);
  }
}

La prima istruzione è g.drawLine(0, 0, 100, 100). Questa istruzione disegna una linea fra i due punti di coordinate (0, 0) e (100, 100).

La seconda istruzione è g.drawLine(0, 100, 100, 0), che disegna una nuova linea. I due estremi hanno coordinate (0, 100) e (100, 0).

Le due linee sono quindi in diagonale. L'esecuzione di questo applet produce una finestra che contiene il seguente disegno.