import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class MouseTracker extends Applet implements MouseListener, MouseMotionListener { private int xPos, yPos = -10; private String s = ""; private Image offscreen; private Dimension offscreensize; private Graphics offgraphics; public void init() { addMouseListener(this); addMouseMotionListener(this); } public void paint(Graphics g) { Dimension d = getSize(); if ((offscreen == null) || (d.width != offscreensize.width) || (d.height != offscreensize.height)) { offscreen = createImage(d.width, d.height); offscreensize = d; offgraphics = offscreen.getGraphics(); offgraphics.setFont(getFont()); } offgraphics.setColor(Color.white); offgraphics.fillRect(0, 0, getSize().width, getSize().height); offgraphics.setColor(Color.black); offgraphics.drawString(s + " @ [" + xPos + ", " + yPos + "]", xPos, yPos); g.drawImage(offscreen, 0, 0, this); } public void update(Graphics g) { paint(g); } public void setValues(String event, int x, int y) { s = event; xPos = x; yPos = y; repaint(); } public void mouseClicked(MouseEvent e) { setValues("mouseClicked", e.getX(), e.getY()); } public void mousePressed(MouseEvent e) { setValues("mousePressed", e.getX(), e.getY()); } public void mouseReleased(MouseEvent e) { setValues("mouseReleased", e.getX(), e.getY()); } public void mouseEntered(MouseEvent e) { setValues("mouseEntered", e.getX(), e.getY()); } public void mouseExited(MouseEvent e) { setValues("mouseExited", e.getX(), e.getY()); } public void mouseDragged(MouseEvent e) { setValues("mouseDragged", e.getX(), e.getY()); } public void mouseMoved(MouseEvent e) { setValues("mouseMoved", e.getX(), e.getY()); } }