Utilisation intelligente-GWT ScrolledHandler
-
23-09-2019 - |
Question
Je voudrais faire quelque chose quand un événement de défilement est produite sur une fenêtre SmartGWT. Je suppose qu'un événement sera déclenché lorsque au moins un des éléments suivants est arrivé. Défiler dans la fenêtre avec molette de défilement de la souris, faites défiler en faisant glisser la barre de défilement, ou défilement à l'aide des flèches de défilement
J'ai ajouté un gestionnaire à une fenêtre SmartGWT et aussi sur la toile SmartGWT qui est le seul enfant de la fenêtre. Tous deux ont été mis en place pour écrire GWT.log.
Cependant, je ne peux pas sembler obtenir un ScrollEvent au feu.
Toutes les idées?
La solution
Je ne sais pas ce que vous avez tort, mais voici un échantillon de travail:
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();
Utilisez la console développeur pour voir les journaux (voir le SmartGWT FAQ pour savoir comment y accéder):
http://forums.smartclient.com/showthread.php?t = 8159 # aConsole
La fenêtre a beaucoup d'enfants générés automatiquement (par exemple son en-tête et pied de page) afin que vous peut-être tenté d'ajouter un écouteur à l'un de ceux-ci, et il n'a pas scrollable.