【问题标题】:BrowserComponent produces NullPointerExceptionBrowserComponent 产生 NullPointerException
【发布时间】:2020-09-04 20:59:18
【问题描述】:

使用 Netbeans 使用 CodenameOne 测试新项目,BrowserComponent 仅通过初始化产生 NullPointerException,但不在主线程中!

public void start() {
    if(helpForm != null){
        helpForm.show();
    //    return;
    }
         BrowserComponent browser=new  BrowserComponent();

    
}

收到此错误:

java.lang.NullPointerException
[EDT] 0:0:0,873 - Exception: java.lang.NullPointerException - null
    at com.codename1.ui.Container.insertComponentAtImpl(Container.java:926)
    at com.codename1.ui.Container.insertComponentAt(Container.java:918)
    at com.codename1.ui.Container.addComponent(Container.java:855)
    at com.codename1.ui.BrowserComponent$9.run(BrowserComponent.java:534)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1331)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1274)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:1162)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)

【问题讨论】:

    标签: browser codenameone


    【解决方案1】:

    要在模拟器上使用 BrowserComponent,您需要使用包含 JavaFX(例如 ZuluFX)的 JDK,或者您需要安装 CEF 库。

    详情请参阅https://www.codenameone.com/blog/big-changes-jcef.html

    这不会影响设备构建 - 只是模拟器。我们现在正处于一个过渡阶段——逐步淘汰 JavaFX 并逐步引入用于媒体和浏览器组件的 CEF——在某个时候,我们只会使 CEF 自动化和无缝。但目前,您只需要手动安装或使用 JavaFX JDK。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 2018-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      相关资源
      最近更新 更多