package lookandfeel;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.plaf.*;

/**
 * A view for a JButton with (limited) audio
 *
 * @author  Prof. David Benrstein, James Madison University
 * @version 1.0
 */
public class AudioButtonUI extends    ComponentUI
			   implements MouseListener
{
    private static AudioButtonUI instance = new AudioButtonUI();
    private static Toolkit       toolkit = Toolkit.getDefaultToolkit();



    /**
     * Create the view (required)
     */
    public static ComponentUI createUI(JComponent c)
    {
	return instance;
    }



    /**
     * Install the view on the given JComponent
     *
     * @param c   The JComponent
     */
    public void installUI(JComponent c)
    {
	c.addMouseListener(instance);
    }


    /**
     * Handle mouseClicked events (required by MouseListener)
     *
     * @param evt   The MouseEvent
     */
    public void mouseClicked(MouseEvent evt)
    {
    }




    /**
     * Handle mouseEntered events (required by MouseListener)
     *
     * @param evt   The MouseEvent
     */
    public void mouseEntered(MouseEvent evt)
    {
	Component        source;

	source = (Component)(evt.getSource());
	if (source.isEnabled()) toolkit.beep();
    }





    /**
     * Handle mouseExited events (required by MouseListener)
     *
     * @param evt   The MouseEvent
     */
    public void mouseExited(MouseEvent evt)
    {
    }



    /**
     * Handle mousePressed events (required by MouseListener)
     *
     * @param evt   The MouseEvent
     */
    public void mousePressed(MouseEvent evt)
    {
    }



    /**
     * Handle mouseReleased events (required by MouseListener)
     *
     * @param evt   The MouseEvent
     */
    public void mouseReleased(MouseEvent evt)
    {
    }






    /**
     * Uninstall the view from the given JComponent
     *
     * @param c   The JComponent
     */
    public void uninstallUI(JComponent c)
    {
	c.removeMouseListener(instance);
    }




    /**
     * Update this component
     *
     * Specifically, do nothing.  (The default implementation
     * will clear the component's background.)
     */
    public void update(Graphics g, JComponent c)
    {

    }
}
