//********************************************************************
//  DotsMouseListener.java      Authors: Lewis and Loftus
//                              Update:  Bary W Pollack
//
//  Demonstrates a listener object for mouse events
//  Demonstrates setting up a "callback" handle
//********************************************************************

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

class DotsMouseListener extends MouseAdapter {

    private Dots applet;    // Holds the "callback" handle

    //-----------------------------------------------------------------
    //  This sets up the "callback" handle
    //-----------------------------------------------------------------
    public DotsMouseListener(Dots applet) {
        this.applet = applet;
    } // end DotsMouseListener()
    
    //-----------------------------------------------------------------
    //  Determines the point at which the mouse is clicked, sets the
    //  point in the applet, then requests the applet to repaint
    //  Here you see the "callback" handle in use!
    //-----------------------------------------------------------------
    public void mouseReleased(MouseEvent event) {
        Point clickPoint = event.getPoint();
        applet.setPoint(clickPoint);
        applet.repaint();
    } // end mouseReleased()
    
} // end class DotsMouseListener
