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

/** A ButtonLikeListener like awt.Checkbutton,
 * that "sticks" or toggles when activated. 
 *
 * @version 1.0, Apr 1 1996
 *
 *  Took out check for right-mouse button; mouse events are
 *  handled no matter which mouse button initiated the event.
 *
 * @version 1.1, Dec 20 1996
 *
 *  Upgraded to 1.1 event handling
 *
 * @author  David Geary
 * @see   ImageButton
 * @see   ButtonLikeListener
 * @see   SpringyButtonLikeListener
 */

public class StickyButtonLikeListener extends ButtonLikeListener
{

    private boolean state = false;

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

    StickyButtonLikeListener () { super (); }

    public void setState (boolean state) {
        this.state = state;
    }

    public boolean getState () { return state; }

    public void activate (ButtonLike ib) {
        state = !state;
        disarm (ib);
        ib.processStateChange (state);
    }

    public void arm (ButtonLike ib) {
        ib.setPressed (!state);
        button_armed = true;
    }

    public void disarm (ButtonLike ib) {
        ib.setPressed (state);
        button_armed = false;
    }

}
/* <IMG SRC="/cgi-bin/counter">*/
