Codenameone 代号一,can';t两次显示相同的浏览器组件

Codenameone 代号一,can';t两次显示相同的浏览器组件,codenameone,Codenameone,我面临以下例外情况: java.lang.IllegalArgumentException-组件已包含在Container:Container…中,当我尝试显示包含以前初始化(并显示)的浏览器组件的表单时 我想重新利用一个浏览器组件,以便在后续运行中跳过加载时间(总是有相同的内容,但有一些繁重的js) 代码流程可总结如下: BrowserComponent browser; private void show(){ Form f = new Form("name", new Borde

我面临以下例外情况:
java.lang.IllegalArgumentException-组件已包含在Container:Container…
中,当我尝试显示包含以前初始化(并显示)的
浏览器组件的
表单时

我想重新利用一个
浏览器组件
,以便在后续运行中跳过加载时间(总是有相同的内容,但有一些繁重的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();
}

谢谢

我最终解决了自己的问题

问题是,在将浏览器的父容器添加到布局之前,我没有删除它。修复方法包括在创建
容器之前添加以下行:

browser.remove();