Пользовательские виджеты и @UiHandler
Можно ли иметь собственный виджет, использующий нотацию @UiHandler для событий мыши? Например, при использовании GWT Designer вы можете щелкнуть правой кнопкой мыши на пользовательском виджете, выбрать "добавить обработчик событий", затем выбрать "onClick". Вместо того, чтобы просто на AttachOrDetach.
С уважением Алекс
2 ответа
Я не знаю, как именно GWT Designer обнаруживает эти вещи, но @UiHandler
смотрит на тип аргумента события, чтобы определить тип обработчика события, а затем смотрит на тип ui:field
упоминается в @UiHandler
для метода, возвращающего HandlerRegistration
и принимая один аргумент типа обработчика событий.
Вкратце: вы можете очень хорошо использовать @UiHandler
с вашими собственными виджетами, я просто не знаю, насколько хорошо GWT Designer поддерживает это.
Да, ты можешь. Например, у меня есть виджет textbox+label, и я не могу создать на нем событие @UiHandler, потому что оно не является стандартным, поэтому я сделал следующее:
public class TextBoxAndLabel implements HasKeyUpHandlers {
private TextBox myTextBox;
private Label myLabel;
@Override
public HandlerRegistration addKeyUpHandler(KeyUpHandler keyUpHandler) {
return myTextBox.addKeyUpHandler(keyUpHandler);
}
}
и теперь я могу реализовать
@UiHandler("myClassObject")