【发布时间】:2011-07-13 00:08:59
【问题描述】:
是否可以让自定义小部件对鼠标事件使用 @UiHandler 表示法?例如使用 GWT Designer 时,您可以右键单击自定义小部件,选择添加事件处理程序,然后选择 onClick。而不仅仅是 onAttachOrDetach。
问候 亚历克斯
【问题讨论】:
标签: gwt handler gwt-designer gwt-widgets
是否可以让自定义小部件对鼠标事件使用 @UiHandler 表示法?例如使用 GWT Designer 时,您可以右键单击自定义小部件,选择添加事件处理程序,然后选择 onClick。而不仅仅是 onAttachOrDetach。
问候 亚历克斯
【问题讨论】:
标签: gwt handler gwt-designer gwt-widgets
是的,你可以。例如,我有一个文本框+标签小部件,我无法从某处创建 @UiHandler 事件,因为它不是标准的,所以我所做的是:
public class TextBoxAndLabel implements HasKeyUpHandlers {
private TextBox myTextBox;
private Label myLabel;
@Override
public HandlerRegistration addKeyUpHandler(KeyUpHandler keyUpHandler) {
return myTextBox.addKeyUpHandler(keyUpHandler);
}
}
现在我可以实现了
@UiHandler("myClassObject")
【讨论】:
我不知道 GWT Designer 究竟是如何检测到这些东西的,但是 @UiHandler 查看事件参数的类型以确定事件处理程序类型,然后查看 @UiHandler 中引用的 ui:field 的类型返回 HandlerRegistration 并采用事件处理程序类型的单个参数的方法。
简而言之:您可以很好地将@UiHandler 与您自己的自定义小部件一起使用,我只是不知道 GWT Designer 对此的支持程度。
【讨论】: