【发布时间】:2013-10-24 18:01:00
【问题描述】:
当 GWT ScrollPanel 设置为自动显示滚动条时,是否有一个事件来指示滚动条何时显示或隐藏?
我需要这个来在添加或删除内部组件时更新它们的布局。当工具栏在添加内容后弹出视图时,在我的控件之外的子组件展开后,我会同时获得水平和垂直滚动条,因为内容比添加滚动条的滚动条容器略宽。
【问题讨论】:
当 GWT ScrollPanel 设置为自动显示滚动条时,是否有一个事件来指示滚动条何时显示或隐藏?
我需要这个来在添加或删除内部组件时更新它们的布局。当工具栏在添加内容后弹出视图时,在我的控件之外的子组件展开后,我会同时获得水平和垂直滚动条,因为内容比添加滚动条的滚动条容器略宽。
【问题讨论】:
当滚动条出现/消失时,无法设置处理程序。
您可以做的是,在添加/删除内容后,检查滚动条是否正在显示并重新布局您的组件:
// To check if the window scroll is being shown
public static boolean isWindowVerticalScrollShown() {
return Document.get().getScrollHeight() > Document.get().getClientHeight();
}
// To check if an element scroll is being shown
public static boolean isElementVerticalScrollShown(Element el) {
return el.getScrollHeight() > el.getClientHeight();
}
【讨论】: