La funzione mouseDown viene usata per memorizzare il punto iniziale della linea. La funzione mouseUp può disegnare la linea usando la posizione in cui il mouse è stato premuto e quella in cui è stato rilasciato. Dal momento che la posizione iniziale viene memorizzata dalla funzione mouseDown e poi usata dalla funzione mouseUp, deve essere rappresentata usando variabili globali.
Usiamo quindi due variabili globali xi e yi per indicare la posizione in cui il pulsante è stato premuto. La funzione mouseDown si limita a memorizzare le coordinate in cui il pulsante è stato premuto (che è memorizzato nei suoi argomenti x e y) in queste variabili. La funzione mouseUp invece disegna la linea fra il punto iniziale (che è memorizzato in xi e yi) e il punto in cui il pulsante è stato sollevato, che è rappresentato dai suoi argomenti x e y. Il programma completo UpDown.java è riportato qui sotto.
/* Disegna linee fra i punti di pressione e rilasciamento del pulsante. */ import java.awt.*; public class UpDown extends java.applet.Applet { /* punto iniziale della linea */ int xi, yi; /* memorizza il punto iniziale della linea */ public boolean mouseDown(Event e, int x, int y) { xi=x; yi=y; return true; } /* disegna la linea fra il punto iniziale e quello corrente */ public boolean mouseUp(Event e, int x, int y) { Graphics g=getGraphics(); g.drawLine(xi,yi,x,y); return true; } }Naturalmente, le linee disegnate vengono cancellate ogni volta che la finestra viene coperta o ridotta a icona. Per rendere le linee disegnate permanenti, occorre che siano disegnate anche dalla funzione paint, per cui è necessario usare quattro vettori per memorizzare le coordinate dei punti iniziali e finali di ogni linea.