GWT对话框自动调整大小

GWT对话框自动调整大小,gwt,resize,popup,dialog,Gwt,Resize,Popup,Dialog,我有一个带有一些弹出窗口的应用程序,我正在使用GWT对话框。 弹出窗口的内容可以更改,因此我需要根据内容调整弹出窗口的大小。 我最初是在创建时设置弹出窗口的高度,但如果较大,则内容将显示在其外部。 除去设置高度,弹出窗口实际上会根据内容进行自我调整,但我在调整弹出窗口的中心位置时遇到了问题。 当内容更改时,我调用popup.center(),但它实际上并不像我手动设置高度时那样居中 我认为这是一个时间问题,因为我添加了一个侦听器,在调整窗口大小时将弹出窗口居中,在这种情况下,弹出窗口正正确居中

我有一个带有一些弹出窗口的应用程序,我正在使用GWT对话框。 弹出窗口的内容可以更改,因此我需要根据内容调整弹出窗口的大小。 我最初是在创建时设置弹出窗口的高度,但如果较大,则内容将显示在其外部。 除去设置高度,弹出窗口实际上会根据内容进行自我调整,但我在调整弹出窗口的中心位置时遇到了问题。 当内容更改时,我调用popup.center(),但它实际上并不像我手动设置高度时那样居中

我认为这是一个时间问题,因为我添加了一个侦听器,在调整窗口大小时将弹出窗口居中,在这种情况下,弹出窗口正正确居中

有什么想法吗

更新:我想我发现了问题。弹出窗口的内容包括一个表。ResizeEvent是在显示表的内容之前触发的,因此,对中心化实际上是考虑空表的大小。
我试图添加LoadingStateChangeHandler,以便在加载状态时触发ResizeEvent,但它仍然触发得太早。

问题是,调用popup.center()时,小部件的新大小尚未计算出来。 大多数人将此作为解决方案:

// <- popup content changes here
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
    public void execute() {
        popup.center();
    }
});
//