JavaFX可以调用和嵌入OCX组件吗

JavaFX可以调用和嵌入OCX组件吗,java,activex,javafx,ocx,Java,Activex,Javafx,Ocx,JavaFX是否能够加载和嵌入OCX控件?我想在我的应用程序中使用Internet explorer,因为WebKit浏览器不支持ActiveX。而且,由于我必须依赖第三方ActiveX控件(我知道它们是邪恶的),所以我必须使用IE 这个问题不完全与“我可以在Java中使用OCX吗”有关,因为我想为我想使用的JavaFX提供某种组件 或者我必须依赖这里发布的图书馆: 提前感谢, Sven您必须依赖您在问题中提供的链接中发布的库。 或者您需要编写自己的JNI接口 如果您确实访问OCX组件,您可能

JavaFX是否能够加载和嵌入OCX控件?我想在我的应用程序中使用Internet explorer,因为WebKit浏览器不支持ActiveX。而且,由于我必须依赖第三方ActiveX控件(我知道它们是邪恶的),所以我必须使用IE

这个问题不完全与“我可以在Java中使用OCX吗”有关,因为我想为我想使用的JavaFX提供某种组件

或者我必须依赖这里发布的图书馆:

提前感谢,


Sven

您必须依赖您在问题中提供的链接中发布的库。 或者您需要编写自己的JNI接口

如果您确实访问OCX组件,您可能需要将它们放在自己的窗口中,而不是共享由JavaFX stage创建的窗口,因为您可能会遇到JavaFX呈现程序在显示OCX组件的窗口部分写入冲突的问题-您必须尝试一下,看看会发生什么来确认

更简单的方法可能是请求应用程序的用户将其默认浏览器设置为IE,然后调用JavaFXAPI启动一个IE页面,该页面嵌入您需要的OCX组件

另一种选择是:

  • 将JavaFX应用程序作为小程序嵌入到网页中
  • 还可以在网页中嵌入activex控件
  • 在网页显示时,检查浏览器,如果不是IE,则告诉用户必须使用Internet Explorer
  • 让用户接受浏览器显示的任何其他安全警告
  • 让用户(或者JavaScript)将浏览器窗口调整为全屏(请参阅或)
  • 使用通过调用调用的javascript在active X控件和java应用程序之间进行通信,并通过嵌入在页面中的VBScript控制active X控件
  • 它可能会起作用,但这是一个丑陋的弗兰肯斯坦解决方案


    如果您可以将媒体转换为JavaFX支持的格式,并直接通过JavaFX播放,那就更好了,或者,由于ActiveX集成要求很高,JavaFX并不是解决您问题的最佳解决方案,您最好使用Silverlight之类的工具。

    谢谢您的解释。在我们摆脱ActiveX之前,hostservices调用似乎是一个很好的解决方法。问题是JavaFX客户端应用程序应该全屏运行,用于显示各种媒体内容,其中一个应该是嵌入ActiveX的HTML页面。我不知道有什么“简单”的方法可以用IE覆盖该应用程序,在启动过程中删除它的边框和控件以及位置和大小。根据Sven提供的其他信息更新了答案。