gpt4 book ai didi

gwt - 在 GWT 中将调整大小的监听器/处理程序添加到 VerticalPanel

转载 作者:行者123 更新时间:2023-12-04 13:09:05 26 4
gpt4 key购买 nike

如何将监听器/处理程序添加到 VerticalPanel,使其成为
当 VerticalPanel 改变大小时触发?

我基本上尝试了以下内容:

VerticalPanel myPanel = new VerticalPanel();
//... code to add child widgets that may change the size of the parent vertical panel ...

myPanel.addHandler(new ResizeHandler() {
public void onResize(final ResizeEvent event) {
//... code to handle resize of vertical panel ...
}

}, ResizeEvent.getType() );

但处理程序没有被触发。

最佳答案

可靠的是窗口级调整大小监听器:

Window.addResizeHandler(new WindowResizeHandler())

当用户调整浏览器窗口大小时,将调用调整大小处理程序:
public void onResize(ResizeEvent event)

您可以使用 event.getHeight()event.getWidth()获取更新的窗口尺寸。

由于您只获取整个窗口的事件,因此您必须自己传播到要布局的组件。我通常只是调用 doLayout()我自己的方法。这种方法甚至不需要调整大小事件的高度和宽度,因为正如 DLH 已经评论的那样,您可以在收到通知时询问大多数组件的尺寸,并用它进行计算。

不幸的是,有些浏览器并不经常执行 onResize 操作。为了不让更新变得疯狂,他们有时可能会坚持事件几秒钟,使您的应用程序在等待“正确”布局时明显丑陋。因此,在可能的情况下,您应该尝试将布局留给 CSS 并且可能取决于您在“表格与 CSS” war 中的立场,表格。

关于gwt - 在 GWT 中将调整大小的监听器/处理程序添加到 VerticalPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1241084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com