Frage

Ich würde gerne etwas tun, wenn ein Scroll -Ereignis in einem Smartgwt -Fenster stattgefunden hat. Ich gehe davon aus, dass ein Ereignis abgefeuert wird, wenn mindestens eines der folgenden Folgen stattgefunden hat: Scrollen Sie im Fenster mit Maus -Bildlaufrad, scrollen Sie durch Ziehen der Scroll -Stange oder scrollen Sie mit Scroll -Pfeilen.

Ich habe ein Handler zu einem SmartGWT -Fenster und auch zu der Smartgwt -Leinwand hinzugefügt, die das einzige Kind des Fensters ist. Beide wurden eingerichtet, um an GWT.Log zu schreiben.

Ich kann jedoch nicht scheinbar feuern.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, was Sie falsch gemacht haben, aber hier ist ein funktionierendes Beispiel:

Window window = new Window();
 window.resizeTo(200,200);
 VLayout layout = new VLayout();
 layout.setOverflow(Overflow.AUTO);

 // create something large enough to allow scrolling
 Canvas canvas = new Canvas();
 canvas.setHeight(500);
 layout.addMember(canvas);
 window.addItem(layout);

 layout.addScrolledHandler(new ScrolledHandler() {
   @Override
   public void onScrolled(ScrolledEvent event) {
    SC.logWarn("scrolled");
   }
 });

 window.draw();

Verwenden Sie die Entwicklerkonsole, um die Protokolle anzuzeigen (siehe FAQ SmartGWT, um darauf zuzugreifen):

http://forums.smartclient.com/showthread.php?t=8159#aconsole

Das Fenster enthält viele automatisch generierte Kinder (z. B. seine Header und Fußzeile), also haben Sie vielleicht versucht, einem von diesen einen Hörer hinzuzufügen, und es war nicht scrollbar.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top