public final class EventUtils
extends java.lang.Object
事件消息工具类。 用于获取发送消息的委托对象,或者注册消息监听器。
 public class EventUtilsTest {
 public static interface TestListener {
 void method();
 }
 public static class TestListenerImplOne implements TestListener {
 public boolean invoked = false;
 public void method() {
 invoked = true;
 System.out.println("TestListenerImplOne.method() invoked");
 }
 }
 public static class TestListenerImplTwo implements TestListener {
 public boolean invoked = false;
 public void method() {
 invoked = true;
 System.out.println("TestListenerImplTwo.method() invoked");
 }
 }
 public static void main(String[] args) {
 TestListenerImplOne listener1 = new TestListenerImplOne();
 EventUtils.registerEventListener(TestListener.class, listener1);
 TestListenerImplTwo listener2 = new TestListenerImplTwo();
 EventUtils.registerEventListener(TestListener.class, listener2);
 TestListener sender = EventUtils.getDelegate(TestListener.class);
 sender.method();
 while(!(listener1.invoked && listener2.invoked)) {
 Thread.yield();
 }
 //程序将输出
 //TestListenerImplTwo.method() invoked
 //TestListenerImplOne.method() invoked
 //或者
 //TestListenerImplOne.method() invoked
 //TestListenerImplTwo.method() invoked
 //
 //listener1和listener2被调用的顺序和时间都是不确定的。
 EventUtils.dipose();
 }
 }
 
| 构造器和说明 | 
|---|
EventUtils()  | 
| 限定符和类型 | 方法和说明 | 
|---|---|
static void | 
dipose()
销毁发送消息的线程池。 
 | 
static <T> T | 
getDelegate(java.lang.Class<T> eventType)
获取一个用于发送消息的委托对象。 
 | 
static void | 
init()
初始化发送消息的线程池。 
 | 
static <T> void | 
registerEventListener(java.lang.Class<T> eventType, T listener)
注册一个消息监听器。 
 | 
static <T> void | 
removeListener(java.lang.Class<T> eventType, T listener)  | 
public static <T> void registerEventListener(java.lang.Class<T> eventType,
                             T listener)
注册一个消息监听器。
eventType - 注册的消息监听器接口类型。该参数必须是一个接口类型,否则该方法将不做任何操作。listener - 接收消息的实例。
public static <T> void removeListener(java.lang.Class<T> eventType,
                      T listener)
public static <T> T getDelegate(java.lang.Class<T> eventType)
获取一个用于发送消息的委托对象。 该函数要求传入一个接口类型为参数,返回的对象是传入的接口类型的实例。 可以直接在返回的实例上调用相应的方法以发送消息。 但是只能调用返回值为void的方法,否则程序的行为是不确定的。
eventType - 需要获取的消息接口类型,该参数必须是一个接口类型。public static void dipose()
销毁发送消息的线程池。
public static void init()
初始化发送消息的线程池。 默认情况下不需要调用,只有调用了dipose()方法之后,还想再正常使用时,才需要调用这个方法。