2013-07-23 21 views
3

該代碼在GWT(邊欄是建立一個sidear自定義):GWT:具有現有的父插件窗口小部件可以不被添加到該列表中分離

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

RootPanel.get(「容器」 ).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) 

你可以helpplease。我看過很多解釋,但沒有任何幫助。

感謝+

回答

2

我不會深入的解釋,就像你說的,你看他們已經:足以說這是不支持的模式。

在你的情況,你會希望使用HTMLPanel代替HTML部件,並使用HTMLPaneladd(Widget,String)方法把Sidebarcontainer元素:

HTMLPanel html = new HTMLPanel("<div id='container'>some stuff</div>"); 
html.add(new Sidebar(), "container"); 
+0

謝謝托馬斯!它運作良好。你能否給出一些解釋,說明爲什麼它不是一個不受支持的模式? – kpedia

+0

...而當我們想要刪除側邊欄,否則? – kpedia

相關問題