import java.awt.*;
import java.awt.event.*;

/** MomentaryButtonLikeListener extends ButtonLikeListener,
 * acts as a Broken Checkbutton,
 * that sets true when pressed,
 * but resets to false when released,
 * and reports both changes.
 */

public class MomentaryButtonLikeListener extends ButtonLikeListener {

    MomentaryButtonLikeListener (ButtonLike ib) { super (ib); }

    MomentaryButtonLikeListener () { super (); }

    public synchronized void mousePressed (MouseEvent me) {
        if (null == ib) ib = (ButtonLike)me.getComponent ();
        if (ib.isEnabled ()) {
            ib.setPressed (true);
            ib.processStateChange (true);
        }
    }

    public synchronized void mouseClicked (MouseEvent me) { }

    public synchronized void mouseReleased (MouseEvent me) {
        if (null == ib) ib = (ButtonLike)me.getComponent ();
        if (ib.isEnabled ()) {
            ib.setPressed (false);
            ib.processStateChange (false);
        }
    }

    public synchronized void mouseDragged (MouseEvent me) { }

    public void activate (ButtonLike ib) { }

    public void arm (ButtonLike ib) { }

    public void disarm (ButtonLike ib) { }
}
/* <IMG SRC="/cgi-bin/counter">*/
