Java 如何将@UiHandler与自定义处理程序一起使用(传递构造函数参数)
通常,我们会这样做:Java 如何将@UiHandler与自定义处理程序一起使用(传递构造函数参数),java,gwt,uibinder,Java,Gwt,Uibinder,通常,我们会这样做: @UiHandler("aLink") void onClickALink(ClickEvent e) { // do something } 但是,如果我想使用自己的处理程序实现呢 class MyClickHandler implements ClickHandler { int i; MyClickHandler(int i) { this.i = i; } @Override public voi
@UiHandler("aLink")
void onClickALink(ClickEvent e) {
// do something
}
但是,如果我想使用自己的处理程序实现呢
class MyClickHandler implements ClickHandler {
int i;
MyClickHandler(int i) {
this.i = i;
}
@Override
public void onClick(ClickEvent event) {
// do something
}
}
那么,如何将MyClickHandler与@UiHandler一起使用?i、 e.将
i
传递给构造函数?您还需要创建一个特定的点击事件:
class MyClickHandler implements ClickHandler {
int i;
MyClickHandler(int i) {
this.i = i;
}
@Override
public void onClick(MyClickEvent event) { // MyClickEvent!
// do something
}
}
然后你可以做:
@UiHandler("aLink")
void onClickALink(MyClickEvent e) {
// do something
}
确保在MyClickEvent
中实现所有需要的方法,以便GWT能够理解它与MyClickHandler
关联:请参阅
有关示例,请参见如何在中实现
那么,如何将MyClickHandler与@UiHandler一起使用?i、 e.将i传递给构造器
您不需要。您还需要创建一个特定的单击事件:
class MyClickHandler implements ClickHandler {
int i;
MyClickHandler(int i) {
this.i = i;
}
@Override
public void onClick(MyClickEvent event) { // MyClickEvent!
// do something
}
}
然后你可以做:
@UiHandler("aLink")
void onClickALink(MyClickEvent e) {
// do something
}
确保在MyClickEvent
中实现所有需要的方法,以便GWT能够理解它与MyClickHandler
关联:请参阅
有关示例,请参见如何在中实现
那么,如何将MyClickHandler与@UiHandler一起使用?i、 e.将i传递给构造器
你没有。很好的例子。我明白你的意思。但是您是否建议我将参数
I
传递给MyClickEvent
而不是MyClickHandler
?您必须以不同的方式传递I
,而不是在处理程序中。您可以将其分配为成员变量,但处理程序不是应该处理变量的人。我同意,处理程序不应该关心I
伟大的示例。我明白你的意思。但是您是否建议我将参数I
传递给MyClickEvent
而不是MyClickHandler
?您必须以不同的方式传递I
,而不是在处理程序中。您可以将其分配为成员变量,但处理程序不是应该处理变量的人。我同意,处理程序不应该关心I