Pregunta

¿Cómo agregar un detector de eventos o un controlador a los widgets en GWT 1.7?

Sé que hay algunas preguntas sobre este tema en SO, pero parece que están desactualizadas. Por ejemplo (ignorando el hecho de que hay un: hover en CSS), ¿cómo agrego un oyente Hover a un FlexTable, por ejemplo?

¿Fue útil?

Solución

Si desea agregar un MouseOverHandler a un FlexTable intente esto:

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());
    }
}

Otros consejos

A partir de GWT 1.6 usas Handlers en lugar de Listeners. Así, por ejemplo, para pasar el mouse, debe agregar un MouseOverHandler y un MouseOutHandler. El FlexTable en sí no implementa estas interfaces, por lo que probablemente querrá implementarlo en los widgets contenidos en el FlexTable. Por ejemplo,

myWidget.addMouseOverHandler(new MouseOverHandler(){
   void onMouseOver(MouseOverEvent event){
       doHovering();
    }
});

Similarmente para agregar un MouseOutHandler.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top