[Java lista] jpanelrol esemeny generalasa
istvan.ketler at lhsystems.com
istvan.ketler at lhsystems.com
2007. Jan. 10., Sze, 07:49:34 CET
> ChangeEvent evt = new ChangeEvent(usr);
>
> // Get list of listeners
> Object[] listeners = listenerList.getListenerList();
>
> // Send event to all listeners
> for (int i=0; i<listeners.length; i++) {
> if (listeners[i] == ChangeListener.class) {
> ((ChangeListener)listeners[i]).stateChanged(evt);
> }
> }
Szia,
Feltételezem, hogy listenerList az örökölt "protected" EventListenerList.
Nos, ennek a listenerList tömbnek csak minden második (minden páros, ha a nullát is párosnak tekintjük) indexű eleme Class típusú. Ezt a tényt a for ciklusod nem nagyon tiszteli. :)
Amúgy miért nem használod a korszerűbb megoldást (since 1.3 a metódus, illetve since 1.5 a for szintaxis)?
for (ChangeListener listener : this.listenerList.getListeners(ChangeListener.class)) {
listener.stateChanged(evt);
}
:) Az ilyen hibákat szokta az ember napokig keresni... :)
Üdvözlettel,
Iván
További információk a(z) Javalist levelezőlistáról