/* * Scrivere un Applet java che disegni un quadrato centrato in un punto scelto dal programmatore * il cui vertice segua il mouse, quando e' nell'area dell'applet stesso. */ import java.awt.*; // Le classi per il disegno import java.applet.Applet; // La superclasse public class quadrato extends Applet { private final int X = 150; // Centro del quadrato (X) private final int Y = 75; // Centro del quadrato (Y) private int xo = X/2; // Coordinate correnti del vertice private int yo = Y/2; public boolean mouseMove (Event evt, int x, int y) { // Risponde al mouse xo = x; // La nuova x e' la media tra la posizione attuale e quella del mouse yo = y; // La nuova y e' la media tra la posizione attuale e quella del mouse repaint (); // Ordino di ridisegnare l'area dell'Applet return true; // Ritorno 'true' per dire che ho gestito l'evento }; // Per trovare gli applet sempre 'a posto' ogni volta che rientro nella finestra public void start () { xo = X/2; // Coordinate correnti del vertice yo = Y/2; } synchronized public void paint(Graphics g) { // Metodo invocato per ridisegnare l'Applet int deltax = xo - X; // Calcola la differenza tra il mouse e il centro int deltay = yo - Y; // Calcola i quattro vertici e ci traccia le linee g.drawLine(X + deltax, Y + deltay, X + deltay, Y - deltax); g.drawLine(X + deltay, Y - deltax, X - deltax, Y - deltay); g.drawLine(X - deltax, Y - deltay, X - deltay, Y + deltax); g.drawLine(X - deltay, Y + deltax, X + deltax, Y + deltay); }; }