不能在一个Java applet的项目,以解决JSObject [复制](Not able to r

2019-07-05 23:05发布

这个问题已经在这里有一个答案:

  • 为什么getWindow()不能得到解决? 3个回答

我想打电话给JSObject.getWindow(this)init的方法JApplet ,但它是不能够解决的符号getWindow

这个问题特别是通过NetBeans中创建JavaFX应用程序项目发生的,如果在一个Java应用程序项目中使用getWindow是越来越得到解决。

我也包括了plugin.jar从路径Java\jdk1.7.0_07\jre\lib

这是我在NetBeans中创建一个JavaFX应用程序项目。

Answer 1:

这样做的原因是,jfxrt.lib也有一个叫JSObject类。 这JSObject没有getWindow函数的定义,同时plugin.jar一个人。 如果更改JAR的依赖秩序,使Java解决JSObject到plugin.jar那么Java能够调用getWindow功能。

以下是链接到两个是jfxrt一个没有getWindow定义classes.Note的的javadoc。

http://docs.oracle.com/javafx/2/api/netscape/javascript/JSObject.html

http://www.oracle.com/webfolder/technetwork/java/plugin2/liveconnect/jsobject-javadoc/netscape/javascript/JSObject.html



Answer 2:

我使用的IntelliJ,只是遇到了类似的问题。

我认为正在发生的是jfxrt.jar和plugin.jar都有netscape.javascript.JSObject类,但两个班有不同的签名。 的IntelliJ是从加入的jre / lib目录罐子按字母顺序到classpath中。

告诉的IntelliJ不jfxrt.jar加入到classpath中我已经能够因为我没有使用JavaFX来解决我的问题。

什么这点到是JavaFX的需要不同的方法来使用JSObject -我不是专家(甚至初学者)在JavaFX的,但下面的页面看起来有用的建议,我认为调用JavaScript是在使用JavaFX做不同的WebEngine.executeScript() https://blogs.oracle.com/javafx/entry/communicating_between_javascript_and_javafx



Answer 3:

试图调用JSObject.getWindow(this)init方法

JSObject通常是不可用,直到start()被调用。



Answer 4:

你有没有import netscape.javascript.*;



Answer 5:

@deorvatsingh这里的问题是没有与NetBeans您添加的jar的顺序。 在JavaFX应用程序jfxar.jar是第一次看到在NetBeans的情况下,多数民众赞成你是不是能够得到的范围为您的原因JSObject.getWindow(this)

对于NetBeans和fxappication执行你的第一次添加的plugin.jar然后加入jfxrt.jar到您的器件的应用,然后它会识别。



文章来源: Not able to resolve JSObject in a java applet project [duplicate]