来自java应用程序的Activex?

Posted

技术标签:

【中文标题】来自java应用程序的Activex?【英文标题】:Activex from java application? 【发布时间】:2008-10-27 09:21:18 【问题描述】:

是否可以在 Java 应用程序中轻松嵌入 ActiveX 控件?这值得么。在我的下一个项目中,我应该在 Java 应用程序中使用现有的 activex,或者必须从头开始重新实现所有内容,所以我想知道什么会少一些麻烦。

【问题讨论】:

【参考方案1】:

我认为如果不求助于第三方库,就没有办法做到这一点。 (或者你自己滚动,但你确实说“容易”。)

SWT(“标准小部件工具包”)包含对嵌入 ActiveX 控件的支持。 SWT 是 Swing 的替代品,尽管它们之间存在一定程度的互操作性。Here's 在 SWT 窗口中嵌入 Windows Media Player 的示例。

另外还有 Jacob 项目,虽然我自己没有使用过。

至于“值得吗?”好吧,我可以根据经验说 SWT 使它相对容易,但是除非您的应用程序可以优雅地处理它们不可用的问题,否则通过依赖 COM 组件,您将失去在多个平台上运行的能力,而这首先使 Java 具有吸引力.

【讨论】:

【参考方案2】:

这实际上取决于您需要重新实施多少。 Jacob project 非常好(我们将它广泛用于 Excel 和 Word 的自动化),但您必须真正了解 COM 才能使用它,尤其是 IDispatch 界面的变幻莫测(很少有人会使用ActiveX/COM其实理解COM——他们只是依赖微软的模板生成)。

如果您只是想为一些简单的 DAO 对象省去一些输入,那么重新实现可能会更好(哎呀,您可能会使用 DTD 并编写一个脚本来为其生成 Java 代码)。

【讨论】:

【参考方案3】:

http://www.codeproject.com/KB/cross-platform/javacom.aspx?msg=1776281 如果您愿意手工操作,可能会有所帮助...

虽然看起来不太灵活...

【讨论】:

以上是关于来自java应用程序的Activex?的主要内容,如果未能解决你的问题,请参考以下文章

通过 Java 在 ActiveX 控件 (.ocx) 中发出调用方法

使用 Excel VBA 创建 Word 应用程序:运行时错误“429”:ActiveX 组件无法创建对象

什么是 ActiveX控件

如何开发ActiveX控件

如何在 MFC No CLR 中访问 Winform ActiveX 控件

ActiveX