【问题标题】:Codename one, can't show same BrowserComponent twice代号一,不能两次显示相同的 BrowserComponent
【发布时间】:2018-03-14 22:56:49
【问题描述】:

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

我想重新使用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();
}

谢谢

【问题讨论】:

    标签: codenameone


    【解决方案1】:

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

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

    browser.remove();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多