Tworzę niestandardowy widget w GWT rozszerzając Composite i implementując ClickHandler. Zaimplementowałem już metodę onClick, ale clickEvent nie działa. Jaką metodę należy dodatkowo zastosować w klasie, aby narzędzie ClickEvent działało? Może być HandlerRejestracja? W jaki sposób?Implementowanie ClickHandler w niestandardowym Widget
12
A
Odpowiedz
18
Jeśli chcesz, aby widżet zachowywał się jak klikalne widżety GWT, użyj interfejsu com.google.gwt.event.dom.client.HasClickHandlers.
public class MyWidget extends Widget
implements HasClickHandlers
{
public HandlerRegistration addClickHandler(
ClickHandler handler)
{
return addDomHandler(handler, ClickEvent.getType());
}
}
4
Spróbuj
this.addClickHandler(myClckHandler) ;
lub jeśli nie są dostępne
this.addDomHandler(myClckHandler , ClickEvent.getType()) ;
ten powinien działa
zmienił ==> powinno to działa:
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()) ;
}
}
Proszę zaznaczyć jedną z tych odpowiedzi jako zaakceptowane, ponieważ prawdopodobnie odpowiedziały na Twoje pytanie i rozwiązały problem. –