Beans can use the standard AWT event
types defined in the java.awt.event package, but
they do not have to. Our
YesNoDialog class defines its own event type,
AnswerEvent. Defining a new event class is really quite
simple; AnswerEvent is shown in
Example 10.3.
package oreilly.beans.yesno;
public class AnswerEvent extends java.util.EventObject {
protected int id;
public static final int YES = 0, NO = 1, CANCEL = 2;
public AnswerEvent(Object source, int id) {
super(source);
this.id = id;
}
public int getID() { return id; }
}
Along with the AnswerEvent class,
YesNoDialog also defines a new type of event
listener interface, ActionListener, that
defines the methods that must be implemented by any object
that wants to receive notification from a
YesNoDialog. The definition of AnswerListener is
shown in Example 10.4.
package oreilly.beans.yesno;
public interface AnswerListener extends java.util.EventListener {
public void yes(AnswerEvent e);
public void no(AnswerEvent e);
public void cancel(AnswerEvent e);
}
|