여러 이벤트
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);
}
}
하는 경우라고해야 할 방법을 정의 할 수 있습니다에 대한 자신의 EventHandler
인터페이스를 만들 수 있습니다
당신은 단지 클래스/인터페이스의 수를 줄이고 싶다면 EventHandler
을 이벤트 클래스 안에 넣을 수 있습니다.
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);
}
}
위대한 예를 들어 주셔서 감사합니다. :) –