当子窗口小部件改变时,Smart-Gwt窗口不重绘滚动条?

时间:2010-01-26 13:02:48

标签: gwt smartgwt

我正在使用smartgwt窗口来显示一些动态内容。内容是一堆可折叠的面板,用户可以根据需要进行扩展。但是,每当内容更改扩展时,smartgwt窗口保持不变。我希望每当内容发生变化时它都会绘制滚动条。

但是,如果用户手动调整窗口大小(即使通过虚拟调整大小或调整大小为1px),滚动条也会出现。

这个问题与此非常相似: How do I make a gwt-ext window not resize when its content resizes?

但是,解决方案建议使用setAutoScroll(true),它不再是窗口的方法。

任何类似方法的想法,或简单的解决方法?

干杯

1 个答案:

答案 0 :(得分:1)

如果您使用SmartGWT组件作为内容,SmartGWT窗口将自动响应并显示滚动条。

由于您正在使用其他内容,因此SmartGWT不会收到组件更改大小的通知,但是,您可以将所有组件放入SmartGWT Canvas容器中,并在组件大小发生更改时调用adjustForContent()。

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

请注意,这是我们建议避免混合使用不同组件集(例如GWT内置小部件和SmartGWT小部件)的众多原因之一 - 其他问题包括维护Tab键顺序,像素完美布局和模态协调。这里有更详细的解释:

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