来自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 组件无法创建对象