[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