java - 如果我将 RootPanel 更改为 RootLayoutPanel,我的浏览器将忽略 slider 。为什么?

标签 java gwt

当我有很多小部件时——比一个页面可以显示的还要多——"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/

相关文章:

java - 在父类(super class)之后序列化子类?

java.lang.noClassDefFoundError : com/itextpdf/text/element on a Java Applet

java - Java中main()方法和主线程有什么关系?

java - Gradle:多项目和构建 WAR 文件

java - GWT OnScroll 事件不会触发

spring - 对于基于 GWT 的应用程序或单独的项目,您是否在客户端和服务器端使用单个项目?

java - 如何获取从一个操作到另一个操作的文件路径?

java - rxjava 当超时时跳过项目并继续下一个项目

java - 内部 JSON 对象的 GWT Java 覆盖

css - 如何对齐 GWT 中选定 CellTable 列的文本?