当我有很多小部件时——比一个页面可以显示的还要多——"new"方式
RootLayoutPanel.get().add(w)
在我的浏览器中不显示 slider 。用“旧”方式
RootPanel.get().add(w)
确实如此。为什么?我想对 GWT 布局类使用“现代”方式(使用 TabLayoutPanel),但现在不能。
(我的index.html以 <!doctype html>
开头)。
编辑:如果我更改为
RootLayoutPanel.get().add( new ScrollPanel( widget) );
它有效!我不知道这样是否正确......
最佳答案
它们是互斥的,RootPanel
支持浏览器级别的自动调整大小和自动滚动条。举个例子,如果您将项目放入表格中并添加足够的内容以使它们离开屏幕底部,RootPanel
将自动添加一个滚动条,以便您可以到达底部元素,RootLayoutPanel
不会,除非您将该元素放入 ScrollPanel
中,然后它与 RootPanel
的作用不同。
RootLayoutPanel
希望您手动控制这一切。您可以选择其中之一,但不能同时拥有两者。使用 RootLayoutPanel
通知 Layout
部分何时重新布局时,您必须将处理程序与 resize
事件联系起来。
RootLayoutPanel
的目标是让您能够制作更像桌面的基于 Web 的应用程序。它不应该取代 RootPanel
,并且它没有更好或更差,除非它支持或不支持什么你正在尝试做的事情。
关于java - 如果我将 RootPanel 更改为 RootLayoutPanel,我的浏览器将忽略 slider 。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6651116/