2010-01-26 7 views
1

J'utilise une fenêtre smartgwt pour montrer du contenu dynamique. Le contenu est un groupe de panneaux réductibles que l'utilisateur peut développer selon ses besoins. Cependant, à chaque fois que les modifications de contenu se développent, la fenêtre smartgwt reste la même. Je m'attends à ce qu'il dessine des barres de défilement chaque fois que le contenu change. Les barres de défilement apparaissent cependant si l'utilisateur redimensionne manuellement la fenêtre (même en effectuant un redimensionnement fictif ou en redimensionnant de 1px).La fenêtre Smart-Gwt ne redessine pas les barres de défilement lorsque le widget enfant change?

Cette question est très semblable à celui-ci: How do I make a gwt-ext window not resize when its content resizes?

Cependant, la solution suggère l'utilisation d'un setAutoScroll (true) qui n'est plus une méthode de fenêtre.

Des idées d'une méthode similaire, ou une solution de contournement simple?

Vive

Répondre

1

Si vous utilisez des composants SmartGWT pour le contenu, la fenêtre SmartGWT répondrait automatiquement et les barres de défilement de spectacle. Puisque vous utilisez autre chose, SmartGWT ne reçoit pas de notification indiquant que les composants ont changé de taille. Cependant, vous pouvez placer tous les composants dans un conteneur SmartGWT Canvas et appeler adjustForContent() chaque fois que la taille des composants change .

http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/widgets/Canvas.html#adjustForContent%28boolean%29

Notez que c'est l'une des nombreuses raisons pour lesquelles nous recommandons d'éviter le mélange de différents ensembles de composants (par exemple GWT widgets intégrés et widgets SmartGWT) - d'autres problèmes comprennent le maintien de l'ordre de tabulation, la mise en page de pixel parfait, et la coordination des modalités. A expliqué plus en détail ici:

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

+0

Merci, je suis allé avec la première option pour éviter d'avoir à changer de beaucoup, et maintenant il fonctionne très bien. – krishnaz