GWT布局令人费解

oth*_*man 4 layout gwt

我正在努力理解GWT布局面板的奇怪行为.我想知道GWT如何将布局逻辑转换为javascript和html.有时我们没有得到预期的布局.封面下的东西由GWT编译器完成.关于如何在封面下执行布局,GWT文档还不够清晰.是否有一些好的书籍或教程可以很好地解释GWT布局问题?

谢谢.

sin*_*law 6

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

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

FlowPanel - 这只是将您的小部件作为连续HTML元素输出到单个DIV中的东西.记录:"使用默认HTML布局行为格式化其子窗口小部件的面板".

DockLayoutPanel -看代码表明,不同地区有硬编码的大小根据你的孩子(华北,华东等)指定哪些

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

试图理解并与布局面板系统进行战斗以做一些不是"默认情况"的事情是浪费时间.我不是说这是最好的事情,但是如果没有这个,我就无法获得我想要的那种控制 - 特别是关于应该自动垂直扩展的元素.如果您还没有,请从有关布局面板的GWT文档中注意这一点:

上面描述的面板最适合用于定义应用程序的外部结构 - 即最少"文档类似"的部分.对于HTML/CSS布局算法运行良好的部分,您应该继续使用基本小部件和HTML结构.特别是,考虑使用UiBinder模板在任何有意义的地方直接使用HTML.