// This example is from _Java Examples in a Nutshell_. (http://www.oreilly.com) // Copyright (c) 1997 by David Flanagan // This example is provided WITHOUT ANY WARRANTY either expressed or implied. // You may study, use, modify, and distribute it for non-commercial purposes. // For any commercial use, see http://www.davidflanagan.com/javaexamples import java.applet.*; import java.awt.*; import java.awt.event.*; /* */ /** * A simple applet that uses external classes to implement * the Java 1.1 event handling model **/ public class Scribble3 extends Applet { int last_x; int last_y; public void init() { MouseListener ml = new MyMouseListener(this); MouseMotionListener mml = new MyMouseMotionListener(this); // Tell this component what MouseListener and MouseMotionListener // objects to notify when mouse and mouse motion events occur. this.addMouseListener(ml); this.addMouseMotionListener(mml); } } // Note the use of MouseAdapter class class MyMouseListener extends MouseAdapter { private Scribble3 scribble; public MyMouseListener(Scribble3 s) { scribble = s; } public void mousePressed(MouseEvent e) { scribble.last_x = e.getX(); scribble.last_y = e.getY(); } } // Note the use of MouseMotionAdapter class class MyMouseMotionListener extends MouseMotionAdapter { private Scribble3 scribble; public MyMouseMotionListener(Scribble3 s) { scribble = s; } public void mouseDragged(MouseEvent e) { Graphics g = scribble.getGraphics(); int x = e.getX(), y = e.getY(); g.drawLine(scribble.last_x, scribble.last_y, x, y); scribble.last_x = x; scribble.last_y = y; } }