Да, это возможно. Стандартный способ сделать это в реализации HandlerRegistration addMyHandler(MyHandler handler)
:
public class MyWidget extends Widget implements HasMyHandlers {
@Override
public HandlerRegistration addMyHandler(MyHandler handler) {
return addHandler(handler, MyEvent.getType());
}
// Other methods
}
Метод Widget.addHandler(...)
предоставляет механизм для привязки пользовательских обработчиков событий к HandlerManager виджета.
Чтобы запустить ваше событие для всех зарегистрированных обработчиков, вы используете метод Widget.fireEvent(...)
. Итак, чтобы запустить ваше мероприятие, вы можете сделать:
fireEvent(new MyEvent(yourEventData));
Стоит отметить, что ваше мероприятие должно также расширить класс GwtEvent
.