Domanda

Come si aggiunge un listener di eventi o un gestore ai widget in GWT 1.7?

So che ci sono alcune domande su questo alreayd su SO ma sembra che siano obsolete. Ad esempio (ignorando il fatto che esiste un: hover nei CSS), come posso aggiungere un listener Hover a una FlexTable, per esempio?

È stato utile?

Soluzione

Se vuoi aggiungere un MouseOverHandler a una FlexTable prova questo:

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

Altri suggerimenti

A partire da GWT 1.6 usi Handlers invece di Listeners. Ad esempio, per il passaggio del mouse, aggiungi MouseOverHandler e MouseOutHandler. La stessa FlexTable non implementa queste interfacce, quindi probabilmente vorrai implementarla sui widget contenuti nella FlexTable. Ad esempio,

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

Allo stesso modo per l'aggiunta di un MouseOutHandler.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top