package gjt; import java.awt.Event; /** * An extension of java.awt.Event, specifically designed for * ImageButton events.
* * ImageButtonEvents are constructed with 3 arguments: *
* *
* // handleEvent(Event) method of a container that
* // contains ImageButtons.
*
* public boolean handleEvent(Event event) {
* if(event instanceof ImageButtonEvent) {
* ImageButtonEvent ibevent =
* (ImageButtonEvent)event;
*
* if(ibevent.isArmed()) {
* // do something for arming
* }
* if(ibevent.isDisarmed()) {
* // do something for disarming
* }
* if(ibevent.isActivated()) {
* // do something for activation
* }
* }
* }
*
*
* ImageButtonController is the only GJT class that creates
* ImageButtonEvents.
*
* @version 1.0, Apr 1 1996
* @author David Geary
* @see ImageButton
* @see ImageButtonController
* @see SpringyImageButtonController
* @see StickyImageButtonController
* @see gjt.test.ImageButtonTest
*/
public class ImageButtonEvent extends Event {
public static final int ARM = 1;
public static final int DISARM = 2;
public static final int ACTIVATE = 3;
private int eventType;
public ImageButtonEvent(ImageButton button,
Event event,
int type) {
super(button, event.when, event.id, event.x, event.y,
event.key, event.modifiers, event.arg);
Assert.notFalse(type == ARM ||
type == DISARM ||
type == ACTIVATE);
eventType = type;
id = -1;
}
public boolean isArmed() {
return eventType == ARM;
}
public boolean isDisarmed() {
return eventType == DISARM;
}
public boolean isActivated() {
return eventType == ACTIVATE;
}
protected String paramString() {
String str = new String();
if(eventType == ImageButtonEvent.ARM)
str = "ARM";
else if(eventType == ImageButtonEvent.DISARM)
str = "DISARM";
else if(eventType == ImageButtonEvent.ACTIVATE)
str = "ACTIVATE";
return super.paramString() + str;
}
}