2009-08-14 16 views
0

Ich habe eine App, die GWT-Inkubator GlassPanel-Klasse verwendet.GWT Incubator Glass Panel nicht implementieren ClickHandler

Ich erweiterte es zu einem benutzerdefinierten, der einen ClickListener implementiert. Ich habe ein Upgrade auf GWT1.7 und GWT-Incubator 1.7 durchgeführt, und es hat ClickListener zerstört.

Ich habe versucht, meine Klasse neu zu schreiben, so dass es ClickHandler implementiert, aber es führt meine neue onClick-Methode nicht aus, wenn auf das Feld geklickt wird.

Wer weiß etwas darüber?

Dank

Beispiel:

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

} 

Antwort

1

Wenn Sie möchten, klicken Sie Ereignisse aus Ihrem GlassPanel erhalten Sie dies versuchen könnten; Implementierung eines Clickhandler-Callbacks.

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!"); 
    } 
}); 

Oder Sie könnten einen Griff innerhalb der Klasse mit

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