调整容器大小时允许滚动条

时间:2012-10-26 14:10:19

标签: gxt

我正在使用GWT 2.3.0和GXT 2.2.5开发应用程序。

我有一个LayoutContainer,ScrollMode设置为AUTO,布局设置为RowLayout,水平方向。它被用作我的应用程序的显示窗口。

问题是,当浏览器调整大小以便显示垂直滚动条时,内容不会调整大小以考虑它,导致水平滚动条也出现,即使它不需要。

在渲染小部件时,有没有办法让滚动条占用空间的布局帐户?

1 个答案:

答案 0 :(得分:0)

好的,实现起来有点棘手。我会这样做: 在入口点(以便您知道它始终处于活动状态)向窗口添加调整大小处理程序

Window.addResizeHandler(new ResizeHandler() {
    @Override
    public void onResize(ResizeEvent event) {
         // Fire Event containing the new size informing the application of the change
         // Or resize the Layout container
    }
}

如果您选择触发事件并且您正在使用MVP模式,则通过事件总线触发事件并在应用程序中的任何位置捕获它非常简单。

这里唯一的问题是您可能希望在计时器内运行onResize()中的函数,因为在很多情况下,报告的Window宽度/高度不是最终值,因为事件在调整大小之前被触发完成。