为什么滚动是通过处理程序处理的,而调整大小是通过 ScrollPanel 中的重写方法处理的?

发布于 2024-12-19 12:52:34 字数 40 浏览 5 评论 0原文

为什么GWT要这样设计呢?调整大小和滚动事件之间的主要区别是什么?

Why is GWT designed in such a way? What is the principal difference between resize and scroll events?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

維他命╮ 2024-12-26 12:52:34

因为浏览器中没有用于调整大小的事件(在窗口级别调整大小,但不是元素级别),这与滚动事件相反。

因此,调整“通知”大小在 GWT 中是“模拟”的:如果您使用 RootLayoutPanelResizeLayoutPanel,它将侦听窗口调整大小事件并将它们向下传播到其 < code>RequiresResize 子级(如果它们本身是 ProvidesResize 小部件,它们也会向下传播)。
显式设置 ProvidesResize 小部件的大小也会通知其 RequiresResize 子部件;以及调整布局面板区域的大小(以编程方式用于 DockLayoutPanelLayoutPanel 以及其他),和/或由用户为 SplitLayoutPanel 完成> 或 StackLayoutPanel)。

您会注意到,ScrollPanel 既是 RequiresResize(将由其父 ProvidesResize 小部件通知其大小可能已更改),又是 >ProvidesResize(如果它是RequiresResize,将通知其子小部件)。

Because there's no event for resizing in browsers (there's resizing at the window-level, but not element-level), contrary to scroll events.

Thus, resizing "notification" is "emulated" in GWT: if you use a RootLayoutPanel or ResizeLayoutPanel, it'll listen for window resize events and propagates them downwards to its RequiresResizechildren (which will propagate downwards too, if they are ProvidesResize widgets themselves).
Explicitly setting the size of a ProvidesResize widget will also notify its RequiresResize children; as well as resizing areas of a layout panel (programmatically for DockLayoutPanel and LayoutPanel –among others–, and/or done by the user for a SplitLayoutPanel or StackLayoutPanel).

You'll note that ScrollPanel is both a RequiresResize (will be notified by its parent ProvidesResize widget that its size might have changed) and ProvidesResize (will notify its child widget if its a RequiresResize).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文