Events 如何在handlerManager中绑定处理程序?

Events 如何在handlerManager中绑定处理程序?,events,gwt,handler,Events,Gwt,Handler,是否有一个选项可以将不同的eventhandler捆绑到一个javafile中 比如: 公共接口MyHandlerr扩展了EventHandler{ 无效myEvent1(事件1事件); 无效myEvent2(事件2事件); } 目前,我每个事件都有一个处理程序……但我对此不满意 greetz您可以创建自己的EventHandler接口来处理多个事件 public interface MultipleEventsHandler extends EventHandler { void o

是否有一个选项可以将不同的eventhandler捆绑到一个javafile中

比如:

公共接口MyHandlerr扩展了EventHandler{
无效myEvent1(事件1事件);
无效myEvent2(事件2事件);
}
目前,我每个事件都有一个处理程序……但我对此不满意


greetz

您可以创建自己的
EventHandler
接口来处理多个事件

public interface MultipleEventsHandler extends EventHandler {
    void onMyEvent(MyEvent event);
    void onMyOtherEvent(MyOtherEvent event);
}
然后在事件类中,您可以定义应该调用哪些方法

public class MyEvent extends GwtEvent<MultipleEventsHandler> {
    public static final Type<MultipleEventsHandler> TYPE = new Type<MultipleEventsHandler>();

    @Override
    public Type<MultipleEventsHandler> getAssociatedType() {
            return TYPE;
    }

    @Override
    protected void dispatch(MultipleEventsHandler handler) {
            handler.onMyEvent(this);
    }
}

public class MyOtherEvent extends GwtEvent<MultipleEventsHandler> {
    public static final Type<MultipleEventsHandler> TYPE = new Type<MultipleEventsHandler>();

    @Override
    public Type<MultipleEventsHandler> getAssociatedType() {
            return TYPE;
    }

    @Override
    protected void dispatch(MultipleEventsHandler handler) {
            handler.onMyOtherEvent(this);
    }
}
public class MyEvent extends GwtEvent<MyEvent.Handler> {

    public interface Handler extends EventHandler {
        void onMyEvent(SomeEvent event);
    }

    public static final Type<MyEvent.Handler> TYPE = new Type<MyEvent.Handler>();


    @Override
    public Type<MyEvent.Handler> getAssociatedType() {
            return TYPE;
    }

    @Override
    protected void dispatch(MyEvent.Handler handler) {
            handler.onMyOtherEvent(this);
    }
}