2009-08-14 5 views
0

J'ai une application qui utilise la classe GWT-Incubator GlassPanel.Le panneau de verre de l'incubateur GWT n'implémente pas ClickHandler

Je l'ai étendu pour en former un personnalisé qui implémente un ClickListener. J'ai mis à niveau vers GWT1.7 et GWT-Incubator 1.7, et il a cassé ClickListener.

J'ai essayé de réécrire ma classe afin qu'elle implémente ClickHandler, mais elle n'exécute pas ma nouvelle méthode onClick quand on clique sur le panneau.

Quelqu'un sait quelque chose à ce sujet?

Merci

exemple:

public class MyGlassPanel extends GlassPanel implements ClickHandler{ 

public void onClick(ClickEvent arg0){ 
    Window.alert("There was a click, but I never get displayed"); 
    this.remove(); 
} 

} 

Répondre

1

Si vous souhaitez recevoir des événements de clic hors de votre GlassPanel vous pouvez essayer cela; Implémentation d'un rappel clickhandler.

public class MyGlassPanel extends GlassPanel implements HasClickHandler{ 

    @Override 
    public HandlerRegistration addClickHandler(ClickHandler handler) { 
     return addDomHandler(handler, ClickEvent.getType()); 
    } 
} 

MyGlassPanel glassPanel = new MyGlassPanel(); 

//add a clickhandler by passing in an anonymous class handler 
glassPanel.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick(ClickEvent event) { 
     Window.alert("hello world!"); 
    } 
}); 

Ou vous pourriez donner une poignée à l'intérieur de la classe avec

this.addClickHandler(new ClickHandler(){...});