GWT页面布局实践

Kev*_*vMo 5 gwt

我正在制作一个基于HTML模型的GWT应用程序.该模型具有大约4或5个不同的布局,使用div和css.现在我有一个HTML页面,只有我的布局的基本元素(标题,正文,页脚).其他布局是相同的,具有不同的主体布局(即两列,三列).我尝试使用以下代码将额外标记添加到基本模板:

RootPanel.get("main_area").add(html);
Run Code Online (Sandbox Code Playgroud)

其中main_area是我的body div的ID,而html是一个HTML对象,其中包含列布局的附加div.

这工作正常,但当我尝试添加一些文本(或任何东西)到我添加的div:

RootPanel.get("left_column").add(new Label("test"));
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

java.lang.AssertionError: A widget that has an existing parent widget may not be added to the detach list
    at com.google.gwt.user.client.ui.RootPanel.detachOnWindowClose(RootPanel.java:122)
    at com.google.gwt.user.client.ui.RootPanel.get(RootPanel.java:197)
Run Code Online (Sandbox Code Playgroud)

我认为我完全错了,但我不知道这样做的正确方法是什么.

Ale*_*eid 7

您可能想要查看HTMLPanel.

HTMLPanel hpanel = new HTMLPanel("<div id='morehtml'></div>");
hpanel.add(new Label("Hello, I am inside morehtml"), "morehtml");

RootPanel.get("main_area").add(hpanel);
Run Code Online (Sandbox Code Playgroud)