public class EventListenerList
extends java.lang.Object
implements java.io.Serializable
EventListenerList listenerList = new EventListenerList();
FooEvent fooEvent = null;
public void addFooListener(FooListener l) {
listenerList.add(FooListener.class, l);
}
public void removeFooListener(FooListener l) {
listenerList.remove(FooListener.class, l);
}
// Notify all listeners that have registered interest for
// notification on this event type. The event instance
// is lazily created using the parameters passed into
// the fire method.
protected void fireFooXXX() {
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying
// those that are interested in this event
for (int i = listeners.length-2; i>=0; i-=2) {
if (listeners[i]==FooListener.class) {
// Lazily create the event:
if (fooEvent == null)
fooEvent = new FooEvent(this);
((FooListener)listeners[i+1]).fooXXX(fooEvent);
}
}
}
foo should be changed to the appropriate name, and fireFooXxx to the
appropriate method name. One fire method should exist for each
notification method in the FooListener interface.
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Object[] |
listenerList |
| Constructor and Description |
|---|
EventListenerList() |
| Modifier and Type | Method and Description |
|---|---|
void |
add(java.lang.Class t,
java.util.EventListener l)
Adds the listener as a listener of the specified type.
|
int |
getListenerCount()
Returns the total number of listeners for this listener list.
|
int |
getListenerCount(java.lang.Class t)
Returns the total number of listeners of the supplied type
for this listener list.
|
java.lang.Object[] |
getListenerList()
Passes back the event listener list as an array
of ListenerType-listener pairs.
|
java.util.EventListener[] |
getListeners(java.lang.Class t)
Return an array of all the listeners of the given type.
|
void |
remove(java.lang.Class t,
java.util.EventListener l)
Removes the listener as a listener of the specified type.
|
java.lang.String |
toString()
Returns a string representation of the EventListenerList.
|
public java.lang.Object[] getListenerList()
public java.util.EventListener[] getListeners(java.lang.Class t)
java.lang.ClassCastException - if the supplied class
is not assignable to EventListenerpublic int getListenerCount()
public int getListenerCount(java.lang.Class t)
public void add(java.lang.Class t,
java.util.EventListener l)
t - the type of the listener to be addedl - the listener to be addedpublic void remove(java.lang.Class t,
java.util.EventListener l)
t - the type of the listener to be removedl - the listener to be removedpublic java.lang.String toString()
toString in class java.lang.Object