假定以下* .ui.xml文件:
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:VerticalPanel>
<g:Label ui:field="Label1"></g:Label>
<g:Label ui:field="Label2"></g:Label>
<g:Label ui:field="Label3"></g:Label>
</g:VerticalPanel>
如果我现在想将ClickHandlers添加到所有三个Label中,如下所示:
@UiHandler("Label1")
void handleClick(ClickEvent event) {
//do stuff
}
@UiHandler("Label2")
void handleClick(ClickEvent event) {
//do stuff
}
@UiHandler("Label3")
void handleClick(ClickEvent event) {
//do stuff
}
我收到一个错误,因为我有3个同名方法。除了创建自定义窗口小部件并将其添加到VerticalPanel之外,还有其他方法吗?
最佳答案
只是给他们起不同的名字。 ClickEvent
是帮助GWT识别要处理的事件类型的重要部分,但是方法名称并不重要。
@UiHandler("Label1")
void handleClickForLabel1(ClickEvent event) {
//do stuff
}
@UiHandler("Label2")
void handleClickForLabel2(ClickEvent event) {
//do stuff
}
@UiHandler("Label3")
void whoaSomeoneClickedLabel3(ClickEvent event) {
//do stuff
}