J'utilise gwt-dnd pour implémenter la fonctionnalité glisser-déposer dans mon programme GWT. Pour obtenir le défilement à travailler à droite, je doisJe dois savoir quand un VerticalPanel change de taille
<ScrollPanel>
<AbsolutePanel>
<VerticalPanel>
<!-- lots of draggable widgets -->
</VerticalPanel>
</AbsolutePanel>
</ScrollPanel>
Je dois régler manuellement la taille de la AbsolutePanel être assez grand pour contenir la VerticalPanel. Cependant, lorsque j'ajoute des widgets au VerticalPanel, la taille indiquée par VerticalPanel.getOffsetHeight() n'est pas immédiatement mise à jour - je suppose que cela doit d'abord être rendu par le navigateur. Donc, je ne peux pas immédiatement mettre à jour la taille de l'AbsolutePanel, et il finit par être trop petit. Argh!
Ma solution d'arrêt est de configurer une minuterie pour redimensionner le panneau 500ms plus tard. D'ici là, getOffsetHeight retournera généralement les valeurs mises à jour. Est-il possible de prévisualiser immédiatement le changement de taille, ou quoi que ce soit? Ou, alternativement, puis-je forcer une boucle de rendu immédiatement afin que je puisse obtenir la nouvelle taille sans mettre en place une minuterie qui risque d'être sujette aux erreurs?
Quand vérifiez-vous la nouvelle hauteur du panneau? –
J'aimerais pouvoir le vérifier immédiatement après avoir ajouté un nouveau widget. –