import javax.swing.JApplet; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.MouseEvent; import java.awt.event.MouseAdapter; import javax.swing.JOptionPane; public class PosizioneMouse extends JApplet{ /* variabili membro dell'applet * visibili a tutti i metodi dell'applet, * e anche alla classe interna */ private int x; private int y; /* costruttore dell'applet, * viene eseguito quando si crea l'applet */ public PosizioneMouse() { /* definizione di una classe INTERNA. * Il vantaggio principale di una classe interna è che può accedere * agli identificatori visibili * (p.es. alle variabili membro x e y dell'applet) * Questa classe serve a creare oggetti che intercettano * l'uso dei pulsanti del mouse */ class AscoltaClick extends MouseAdapter { public void mousePressed(MouseEvent e) { /* l'evento e (di classe MouseEvent) possiede i metodi * getX() e getY(), che permettono di conoscere le coordinate * alle quali è avvenuto l'evento */ x = e.getX(); y = e.getY(); JOptionPane.showMessageDialog(null, "il mouse è stato cliccato in posizione ("+x+","+y+")"); } } /* istruzioni nel costruttore dell'applet * definisce un intercettatore di eventi * e lo "registra" attraverso il metodo addMouseListener */ MouseAdapter ascoltaEventi = new AscoltaClick(); addMouseListener(ascoltaEventi); } public void paint(Graphics g) { /* * qui non dobbiamo disegnare nulla */ } }