我正在 GWT 中创建一个自定义小部件,扩展 Composite 并实现 ClickHandler。我已经实现了onClick方法,但是clickEvent不起作用。为了使 clickEvent 起作用,我应该在类中另外实现什么方法?可能是HandlerRegistration?如何?
问问题
5852 次
2 回答
20
如果您希望您的小部件表现得像可点击的 GWT 小部件,您应该使用com.google.gwt.event.dom.client.HasClickHandlers接口。
public class MyWidget extends Widget
implements HasClickHandlers
{
public HandlerRegistration addClickHandler(
ClickHandler handler)
{
return addDomHandler(handler, ClickEvent.getType());
}
}
于 2012-04-11T03:41:19.570 回答
4
尝试
this.addClickHandler( myClckHandler ) ;
或者如果不可用
this.addDomHandler( myClckHandler , ClickEvent.getType()) ;
这应该有效
编辑==> 这应该有效:
public class Foo extends Composite {
private ClickHandler myClkHandler = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.alert("Overnuts is the best !") ;
}
};
public Foo() {
initWidget(this) ;
this.addDomHandler( myClkHandler, ClickEvent.getType()) ;
}
}
于 2012-04-10T13:52:45.207 回答