3

GWT 中的这段代码(侧边栏是构建侧边栏的自定义):

HTML html = new HTML("
                 <div id=\"container\">some stuff</div>"
        );

RootPanel.get("container").add(new Sidebar());  

...给出那个错误:

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:136)
at com.google.gwt.user.client.ui.RootPanel.get(RootPanel.java:211)  

你能帮忙吗?我看过很多解释,但没有任何帮助。

谢谢 +

4

1 回答 1

2

正如您所说,您已经阅读过它们,我不会深入解释:足以说这是一种不受支持的模式。

在您的情况下,您需要使用 anHTMLPanel而不是HTML小部件,并使用HTMLPanel'add(Widget,String)方法将其Sidebar放入container元素中:

HTMLPanel html = new HTMLPanel("<div id='container'>some stuff</div>");
html.add(new Sidebar(), "container");
于 2013-07-23T13:09:48.573 回答