L’immagine si sposta dove si clicca con il mouse
import java.applet.*; import java.awt.*; import java.awt.event.*; public class a_duke_1 extends Applet implements MouseListener { private Image immagine; private int x, y; public void init() { x=getSize().width/2; y=getSize().height/2; immagine=getImage(getCodeBase(), "duke.jpg"); this.addMouseListener(this); } public void paint(Graphics g) { g.drawImage(immagine, x, y, this); } private void aggiorna(int nx, int ny) { x=nx; y=ny; showStatus(x + ", " + y); repaint(); } public void mousePressed (MouseEvent me) { } public void mouseClicked (MouseEvent me) { aggiorna(me.getX(), me.getY()); } public void mouseReleased(MouseEvent me) { } public void mouseEntered (MouseEvent me) { } public void mouseExited (MouseEvent me) { } }
Osserva
-
repaint();
-
private void mouseClicked(MouseEvent ...) { ... }
-
showStatus(x+", "+y);
MouseAdapter al posto di MouseListener
import java.applet.*; import java.awt.*; import java.awt.event.*; public class a_duke_2 extends Applet { private Image immagine; private int x, y; public void init() { x=getSize().width/2; y=getSize().height/2; immagine=getImage(getCodeBase(), "duke.jpg"); this.addMouseListener(new MA()); } public void paint(Graphics g) { g.drawImage(immagine, x, y, this); } private void aggiorna(int nx, int ny) { x=nx; y=ny; showStatus(x + ", " + y); repaint(); } class MA extends MouseAdapter { public void mouseClicked(MouseEvent me) { aggiorna(me.getX(), me.getY()); } } }