Mouse Over Listener pour FlexTable dans GWT 1.7?
-
05-07-2019 - |
Question
Comment ajoutez-vous un écouteur d'événement ou un gestionnaire aux widgets dans GWT 1.7?
Je sais qu’il ya déjà des questions à ce sujet sur SO mais il semble qu’elles soient dépassées. Par exemple (en ignorant le fait qu'il existe un: survol dans CSS), comment puis-je ajouter un écouteur en survol à une FlexTable par exemple?
La solution
Si vous souhaitez ajouter un MouseOverHandler à une table FlexTable, essayez ceci:
public class MyFlexTable extends FlexTable implements MouseOverHandler, HasMouseOverHandler {
public MyFlexTable() {
this.addMouseOverHandler(this);
}
public void onMouseOver(MouseOverEvent event) {
//do something
}
public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
return addDomHandler(handler, MouseOverEvent.getType());
}
}
Autres conseils
À partir de GWT 1.6, vous utilisez des gestionnaires au lieu d’écouteurs. Ainsi, par exemple, pour survoler, vous ajouteriez un MouseOverHandler et un MouseOutHandler. La FlexTable elle-même n’implémente pas ces interfaces, vous voudrez donc probablement l’implémenter sur les widgets contenus dans la FlexTable. Par exemple,
myWidget.addMouseOverHandler(new MouseOverHandler(){
void onMouseOver(MouseOverEvent event){
doHovering();
}
});
De même pour l'ajout d'un MouseOutHandler.