gpt4 book ai didi

java - GWT TabLayoutPanel - 动态高度?

转载 作者:行者123 更新时间:2023-11-29 05:42:24 31 4
gpt4 key购买 nike

我有一个 TabLayoutPanel,我不想像下面的代码示例 (tabPanel.setHeight("100px");) 那样给它一个固定的高度。我想给它标签内容的高度,例如第一个选项卡中的 HTML-Widget)。如果我不手动设置高度,则根本不会显示选项卡内容。有什么方法可以使高度适应内容?

public class GWTTest implements EntryPoint {

public void onModuleLoad() {
TabLayoutPanel tabPanel = new TabLayoutPanel(3, Unit.EM);

tabPanel.setAnimationDuration(400);
tabPanel.add(new HTML("Tab1 Content"), "Tab 1");

tabPanel.add(new HTML("Tab2 Content"), "Tab 2");

tabPanel.setHeight("100px");

RootPanel.get().add(tabPanel);

}
}

我还尝试直接在 css 中使用“溢出”和“位置”属性来搞乱,但这总是会破坏动画或其他东西。

编辑:看来最简单的方法是实现我自己的选项卡面板 - 或者使用现有的 javascript 库。

最佳答案

布局面板是 GWT 中一种特殊的容器,它需要来自父级的尺寸并且可以自己调整尺寸。基础是两个接口(interface) ProvidesResizeRequiresResize - 表示对象将调整其子项的大小,另一个表示当父项的大小更改时它必须调整大小。大多数布局面板(如 TabLayoutPanel)都实现了这两者 - 它需要从其父级更改大小,并且当它获得它时,它将调整其子项(每个选项卡)的大小。

不过,要启动它,您需要将根小部件添加到 RootLayoutPanel,而不是 RootPanel。有几个主要区别 - 只有一个 RootLayoutPanel(没有 get(String) 方法),RootLayoutPanel 会调整其子项的大小,而 RootPanel 不会。

使用 RootLayoutPanel.get().add(tabPanel) 而不是 RootPanel.get().add(tabPanel)

关于java - GWT TabLayoutPanel - 动态高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17012006/

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