0

我正在尝试构建一个外观漂亮的 GWT 面板(我的第一个面板),并且一直在尝试决定如何处理其布局。

根据布局Javadoc

用于布置容器元素及其子元素的辅助类。

LayoutPanel Javadoc

使用 Layout 类将其子项放置在任意层中的面板。

所以看起来你可以:

  • 扩展 aComplexPanel并使用 aLayout来管理其布局;或者
  • 使用LayoutPanel似乎内置了此功能的 a ;或者
  • 只需向 an 添加元素HTMLPanel并使用 CSS 执行所有定位/布局

我不是 100% 确定,但这感觉就像您拥有这些选项(可能还有其他选项),因为它们在不同情况下相互提供优势,或者因为 GWT API 发生了很大变化,并且随着时间的推移添加了更新的布局方法.

如果是前者,那么安全性和性能是我唯一的优先事项,所以我问:一种方法是否比其他方法更高效和/或更安全?如果是后者,那么 GWT 最新且最受鼓励的方法是哪一种?在我看来,最大的控制是将所有内容留给 CSS,根本不使用Layout/ LayoutPanel

4

2 回答 2

1

LayoutPanel 使用绝对定位,它还为其子级提供大小。我喜欢将它用于我最外面的布局容器,因为它占据了整个浏览器窗口并在调整浏览器窗口大小时调整其子窗口的大小。

对于内部小部件(例如菜单、主区域),许多人喜欢使用 VerticalPanel 和 Horizo​​ntalPanel(甚至是 LayoutPanel),因为它们很简单。我避免使用这些面板,因为它们提供了基于表格的刚性布局。我更喜欢使用 HTMLPanel 或 FlowPanel,并通过 CSS 实现所需的布局。

请注意,在讨论不同面板的优缺点时,我不会使用“旧”或“新”属性。它们都翻译成标准的 HTML。如果您对 CSS 感到满意(很多开发人员不满意),那么您应该尽可能多地使用 CSS,因为这是浏览器经过优化后要做的事情,而且您可以构建更流畅、一致和面向未来的内容(即更容易改变)布局。

于 2012-10-31T05:51:50.723 回答
0

您正在构建什么样的应用程序?

  • 您是否需要面板之间的“用户定位分离器”?
  • 您需要单独的滚动面板吗?

如果没有,请坚持使用 CSS。

从 HTML/CSS 模型开始,然后将其转换为 GWT UiBinder 文件。特别是在响应式网页设计方面,您可以从 Twitter Bootstrap 等现成的 CSS 框架开始获得巨大的先机。

于 2012-10-31T05:43:47.587 回答