1 21 24 package org.lobobrowser.util; 25 26 import java.util.*; 27 28 31 public class EventDispatch { 32 private Collection listeners; 33 34 public EventDispatch() { 35 } 36 37 public Collection createListenerCollection() { 38 return new LinkedList(); 39 } 40 41 public final void addListener(GenericEventListener listener) { 42 synchronized(this) { 43 if(this.listeners == null) { 44 this.listeners = this.createListenerCollection(); 45 } 46 this.listeners.add(listener); 47 } 48 } 49 50 public final void removeListener(GenericEventListener listener) { 51 synchronized(this) { 52 if(this.listeners != null) { 53 this.listeners.remove(listener); 54 } 55 } 56 } 57 58 public final void fireEvent(EventObject event) { 59 GenericEventListener[] larray = null; 60 synchronized(this) { 61 if(this.listeners != null) { 62 larray = (GenericEventListener[]) this.listeners.toArray(GenericEventListener.EMPTY_ARRAY); 63 } 64 } 65 if(larray != null) { 66 for(int i = 0; i < larray.length; i++) { 67 larray[i].processEvent(event); 69 } 70 } 71 } 72 } 73 | Popular Tags |