// Fig. 10.19: MouseTracker.java // Demonstrating mouse events. import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class MouseTracker extends Applet implements MouseListener, MouseMotionListener { private int xPos, yPos = -10; // off screen for 1st paint private String s = ""; public void init() { // applet listens to its own mouse events addMouseListener( this ); addMouseMotionListener( this ); } public void paint( Graphics g ) { g.drawString( s + " @ [" + xPos + ", " + yPos + "]", xPos, yPos ); } private void setValues( String event, int x, int y ) { s = event; xPos = x; yPos = y; repaint(); } // MouseListener event handlers public void mouseClicked( MouseEvent e ) { setValues( "Clicked", e.getX(), e.getY() ); } public void mousePressed( MouseEvent e ) { setValues( "Pressed", e.getX(), e.getY() ); } public void mouseReleased( MouseEvent e ) { setValues( "Released", e.getX(), e.getY() ); } public void mouseEntered( MouseEvent e ) { showStatus( "Mouse in applet area" ); } public void mouseExited( MouseEvent e ) { showStatus( "Mouse outside applet area" ); } // MouseMotionListener event handlers public void mouseDragged( MouseEvent e ) { setValues( "Dragging", e.getX(), e.getY() ); } public void mouseMoved( MouseEvent e ) { setValues( "Moving", e.getX(), e.getY() ); } }