代号为1,无法显示两次相同的BrowserComponent

时间:2018-03-14 14:01:45

标签: codenameone

我面临以下异常:  当我尝试显示包含之前已初始化(并显示)java.lang.IllegalArgumentException - Component is already contained in Container: Container...

FormBrowserComponent

我想重新使用BrowserComponent,以便在后续运行中跳过加载时间(总是有相同的内容,但有一些重js)

代码流程可归纳如下:

BrowserComponent browser;

private void show(){
    Form f = new Form("name", new BorderLayout());
    if(browser == null) // only initialise first time loaded
    {
        browser = new BrowserComponent();
        browser.setURL("jar:///Folder/File.html");
    }
    Container centerBackground = BorderLayout.center(browser); //Exc source
    f.add(CENTER, centerBackground);
    f.show();
}

由于

1 个答案:

答案 0 :(得分:2)

我最终解决了自己的问题。

问题是我在删除浏览器的父容器之前没有将其添加到布局中。该修复包括在创建browser.remove(); 之前添加以下行:

{{1}}