0

我正在使用 GWT。在我的主机页面中有以下代码。

<div id="mainDiv"/>
 <iframe id="__printingFrame" style="width:0;height:0;border:0"> </iframe> 

在 EntryPoint 的 onModuleLoad() 中,我有以下代码:

@Override
    public void onModuleLoad() {
        RootPanel.get("mainDiv").add(new SomePage());
    }

在 SomePage.java 我正在做的一种方法中:

RootPanel rootPanel = RootPanel.get("__printingFrame");
  rootPanel.add(new Html(" "));//adding some widget

但是上面一行的 bcaz 我得到了例外。我在这里错过了什么吗?

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

2 回答 2

1

您的代码中有 2 个问题(但您现在只看到一个):

于 2012-07-19T16:36:29.870 回答
-1

RootPanel.get("id") 只能获取 <div> 元素。你可以像这样包装已存在的元素。

Frame frame=Frame.wrap(DOM.getElementById("__printingFrame"));
于 2012-07-19T14:30:09.953 回答