GWT面板和小部件

时间:2012-05-09 12:14:24

标签: gwt

在下面结束GWT面板和小工具之间的基本关系是否安全?

  • GWT面板被转换为父DOM节点,可以包含子面板或/和子窗口小部件。
  • GWT小部件被转换为仅仅是自包含的叶子DOM节点。
  • GWT RootPanel必须仅充当所有其他面板和小部件的根容器。

2 个答案:

答案 0 :(得分:3)

这是GWT层次结构:

GWT hierarchy

面板也是一个小部件。面板是可以包含其他小部件和面板的小部件。通常它们用于布局,并且很少直接与它们相关联 - 例如,DisclosurePanel可以在标题中包含数据,以及TabPanel的选项卡。有些基于HTML table元素(例如HorizontalPanel),有些基于标记div

RootPanel 是包含其他小部件的面板。此面板位于包含层次结构的顶部。默认情况下,它包装主机页面的标记body。 RootPanel可以包含任意数量的小部件,这些小部件将以其自然的HTML顺序排列。

请参阅docs

答案 1 :(得分:2)

每个GWT Widget实例都有一个元素(可以通过调用getElement()到达),面板只是一种Widget - 它们仍然有一个基本元素。大多数小部件构建更多内容来完成他们的工作(例如:CheckBox是一个span同时包含inputlabel),并且面板也可能需要多个元素。 / p>

小部件被附加到其他小部件,不仅因为这是DOM需要如何排列,而且还跟踪从DOM中附加和分离小部件。除此之外,这使得有可能仅在实际连接时连接事件处理程序,并在不再是页面的一部分时将它们取消连接。

RootPanel是一个特殊的小部件,它表示现有元素,主体本身或具有给定ID的元素。可能有多个RootPanel,但它们不应嵌套。 (也就是说,可能只有一个RootLayoutPanel,一种专门的RootPanel,它也处理将浏览器大小信息传递给子布局面板)。

这可能与您所追求的想法相同,但我想澄清一个Widget通常不仅仅是一个DOM节点。