/*
 * Mouse.java: try out mouse moves
 */
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.URL;

public class Mouse extends Applet implements MouseListener {

    private int mPreX, mRelX, mCliX, mEntX, mExiX;
    private int mPreY, mRelY, mCliY, mEntY, mExiY;
    private AudioClip bonk;
    public void init() {
        setBackground(Color.yellow);
        addMouseListener(this);
        try {
           bonk = getAudioClip(new
              URL("http://www.cs.utsa.edu/~javalab/cs1713/downloads/textbook/chap09/jeopardy.au"));
        }
        catch (Exception e) {}
    }

    public void paint(Graphics g) {
       bonk.play();
       g.drawString("mousePressed:  " + mPreX + " " + mPreY, 10, 10);
       g.drawString("mouseReleased: " + mRelX + " " + mRelY, 10, 30);
       g.drawString("mouseClicked:  " + mCliX + " " + mCliY, 10, 50);
       g.drawString("mouseEntered:  " + mEntX + " " + mEntY, 10, 70);
       g.drawString("mouseExited:   " + mExiX + " " + mExiY, 10, 90);
    }

    public void mousePressed(MouseEvent e) {
       mPreX = e.getX(); mPreY = e.getY();
       System.out.println("mousePressed: " + mPreX + " " +  mPreY);
       repaint();
    }

    public void mouseReleased(MouseEvent e) {
       mRelX = e.getX(); mRelY = e.getY();
       System.out.println("mouseReleased: " + mRelX + " " +  mRelY);
       repaint();
    }

    public void mouseClicked(MouseEvent e) {
       mCliX = e.getX(); mCliY = e.getY();
       System.out.println("mouseClicked: " + mCliX + " " +  mCliY);
       repaint();
    }

    public void mouseEntered(MouseEvent e) {
       mEntX = e.getX(); mEntY = e.getY();
       System.out.println("mouseEntered: " + mEntX + " " +  mEntY);
       repaint();
    }

    public void mouseExited(MouseEvent e) {
       mExiX = e.getX(); mExiY = e.getY();
       System.out.println("mouseExited: " + mExiX + " " +  mExiY);
       repaint();
    }
}