我正在努力了解 GWT 布局面板的奇怪行为。我想知道 GWT 如何将布局逻辑转换为 javascript 和 html。有时我们没有得到预期的 Layout 。幕后工作是由 GWT 编译器完成的。
GWT 文档对如何在封面下执行布局不够清楚。
是否有一些好书或教程可以很好地解释 GWT 布局问题?

谢谢。

最佳答案

我不知道什么好书或教程,但这里有一些可能有用的信息。

首先,您可能知道 FooPanels 和 FooLayoutPanels 之间存在很大差异。这是两组不同的面板,它们基于不同的布局机制。布局面板是新的东西,似乎更适合具有硬编码大小、Google Wave 风格的布局。较旧的 FooPanel(VerticalPanel 等)主要基于 HTML 表格。

FlowPanel - 这只是将您的小部件作为单个 DIV 中的连续 HTML 元素输出的东西。如文档所述:“使用默认 HTML 布局行为格式化其子小部件的面板”。

DockLayoutPanel - 查看代码表明它根据您在子项中指定的内容(北、东等)对不同区域的大小进行硬编码

最后 - 我的经验使我放弃了对布局面板系统的所有使用,并尽可能只依赖 HTML 和 CSS。这意味着主要使用 HTMLPanel + UiBinder,有时使用 FlowPanel,很少使用其他一些面板。

试图理解和对抗布局面板系统来做不是“默认情况”的事情是在浪费时间。我并不是说这是最好的做法,但如果没有这个,我就无法获得我想要的那种控制——尤其是对于应该自动垂直扩展的元素。如果您还没有,请从关于 布局面板 的 GWT 文档中注意这一点:

10-08 08:11
查看更多