【问题标题】:JavaFX upcall. Cannot cast JSObjectJavaFX 上调用。无法转换 JSObject
【发布时间】:2014-02-06 16:05:42
【问题描述】:

我已经按照 oracles 站点的示例进行操作,如果我只是将示例作为独立项目导入那里,它就可以正常工作。

在我的项目中,我有一个抽象的 UI,我相信我已经导入了正确的包。我遇到的错误是调用 webengine.executeScript("window") 时 JSObject 的转换。我的抽象 UI 插件是 JavaFX 的容器,然后我使用 webview 来显示 HTML。

这是我收到的错误:

java.lang.ClassCastException: com.sun.webpane.webkit.dom.JSObject cannot be cast to netscape.javascript.JSObject
at com.interpro.emmeclipse.views.PageBuilderPart$1.changed(PageBuilderPart.java:48)
at com.interpro.emmeclipse.views.PageBuilderPart$1.changed(PageBuilderPart.java:1)
at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Unknown Source)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
at javafx.beans.property.ReadOnlyObjectWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(Unknown Source)
at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
at javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
at javafx.scene.web.WebEngine$LoadWorker.updateState(Unknown Source)
at javafx.scene.web.WebEngine$LoadWorker.dispatchLoadEvent(Unknown Source)
at javafx.scene.web.WebEngine$LoadWorker.access$600(Unknown Source)
at javafx.scene.web.WebEngine$PageLoadListener.dispatchLoadEvent(Unknown Source)
at com.sun.webpane.platform.WebPage.fireLoadEvent(Unknown Source)
at com.sun.webpane.platform.WebPage.fwkFireLoadEvent(Unknown Source)
at com.sun.webpane.webkit.network.URLLoader.twkDidFail(Native Method)
at com.sun.webpane.webkit.network.URLLoader.access$1400(Unknown Source)
at com.sun.webpane.webkit.network.URLLoader$7.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

【问题讨论】:

    标签: javafx javafx-2


    【解决方案1】:

    我未能在插件清单中包含 netscape.javascript 作为导入包。

    【讨论】:

      猜你喜欢
      • 2012-11-18
      • 2013-10-25
      • 2015-08-04
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多