gpt4 book ai didi

gwt - 根据内容调整 GWT 面板的高度

转载 作者:行者123 更新时间:2023-12-01 15:24:52 25 4
gpt4 key购买 nike

我们有许多屏幕使用了不同类型的 GWT 面板。

许多屏幕的一个常见问题是,内容大小是在运行时派生的。因此,如果我为面板(垂直/水平/DockPanel)定义了一个高度,并且当面板中添加任何新组件或内容更多时,面板高度保持不变。所以我们看不到内容。 UI 外观和感觉变得最差。

我们如何处理高度问题?当屏幕上的某些内容发生变化时,我们是否必须手动编写代码来调整每个面板/小部件的高度。这不是一种非常糟糕的编码方式吗?另外,现在我们在某些地方有数据网格,如果没有记录非常少,我们会看到数据网格下面遗漏了一个巨大的空间,不确定我们如何处理这些情况?

根据评论在下面更新了几个例子:你的意思是说,每当我们知道内容是垂直增长的时候,我们总是可以选择 FlowPanel。因为,我们使用了一些屏幕垂直面板/水平面板,当用户单击某些内容时,会在其中添加和显示新字段。所以垂直面板/水平面板的高度不会自动调整。另一个例子是我们在 Dock Layout Panel 内容区域中有一个主要的 Vertical Panel,并且里面有一些内容可能不同的小部件。所以现在如果我对大小不同的内容使用 FlowPanel,那么外部面板呢?会得到调整吗?再次说一下我们使用过的面板类型——Dock Layout Panel 与固定的页眉、页脚、左侧菜单和内容区域一起使用。内容区域内使用滚动面板。我们所有不同的小部件都在里面,这是水平/垂直/数据网格的混合和匹配......等。

最佳答案

在 GWT(和 HTML)中,您可以设置面板的高度或让它自然扩展。一般来说,一旦你设置了某物的高度,你就失去了让它自然扩展的能力。

GWT 中的某些面板隐式设置了它们自己的高度(或要求您设置它们的高度),因此对于动态调整大小的内容来说从来都不是好的选择。例如,LayoutPanels 和 ScrollPanels 永远不能动态调整,并希望您以编程方式提供大小信息。另一方面,FlowPanels 和 HTMLPanels 非常适合动态高度,您不希望显式设置它们的高度。

如果你想要一个滚动面板,当然你必须定义它应该有多高——否则它怎么知道什么时候滚动以及什么时候变大?但是,您可以将 FlowPanel(自动展开)放在 ScrollPanel(您已将其设置为 800px 或其他)内。然后,当您向 FlowPanel 添加内容时,它会在 ScrollPanel 内扩展。然后,用户可以滚动查看 FlowPanel 的不同部分。

故障排除提示:

  1. 确保您没有在要自然扩展的面板上设置高度
  2. 确保您设置的面板高度应始终保持相同大小
  3. 尝试使用 FlowPanels 而不是 Horizo​​ntal/VerticalPanels
  4. *LayoutPanels 和 AbsolutePanels 总是需要明确的大小,并且永远不会随着您添加更多内容而动态增长。任何你想随内容一起增长的东西都应该是 FlowPanel 或 HTMLPanel。

关于gwt - 根据内容调整 GWT 面板的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11859679/

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