/* Scribble.nrx: the 'Scribble' applet, using an Adapter class */ class Scribble adapter binary - extends Applet - implements MouseListener, MouseMotionListener, ActionListener last_x=int; last_y=int -- these record mouse coordinates method init addMouseListener(this) -- we want mouse events .. addMouseMotionListener(this) -- .. and mouse movements b=Button("Clear") -- make a button b.addActionListener(this) -- we want to see the button's events add(b) -- add the button to the applet method mousePressed(m=mouseEvent) last_x=m.getX; last_y=m.getY -- initialize mouse coordinates method mouseDragged(m=mouseEvent) g=this.getGraphics -- get applet's Graphics context x=m.getX; y=m.getY -- get mouse coordinates g.setColor(Color.black) g.drawLine(last_x, last_y, x, y) -- draw new line segment last_x=x; last_y=y -- save coordinates method actionPerformed(a=ActionEvent) -- Button pressed g=this.getGraphics g.setColor(this.getBackground) g.fillRect(0, 0, getSize.width, getSize.height) -- clear the window