没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2004-03-22 16:06:00.000|阅读 2138 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
通过使用标准窗口小部件工具箱(Standard Widget Toolkit,SWT),您可以开发独立的 Java 应用程序,它看起来和操作起来类似本机应用程序。如果您花了很多时间来开发用于 Windows 的 Java 客户机端应用程序,那么您或许希望将一些本机 Windows 组件集成到您的应用程序中。SWT,作为正在开发中的 Eclipse 项目的一部分,通过为您提供在独立 SWT 应用程序中方便地利用和集成 ActiveX 控件的方法来实现这一需求。
多年以来,Java 语言已经“统治”了基于服务器的应用程序的开发领域。在该语言开发早期,人们将它吹捧为开发跨平台的桌面应用程序的解决方案。遗憾的是,事实上它从未符合过这种大肆宣传。在最终用户和开发人员社区需要抽象窗口工具箱(Abstract Window Toolkit,AWT)之外的一些其它功能之后,Sun Microsystems 引入了 Java 基础类(Java Foundation Classes,JFC)(也称为 Swing)来诱使开发人员重新考虑将 Java 语言用于开发 GUI 应用程序。虽然 Swing 确实为开发客户机端的应用程序提供了一个成熟且经证实的模型,但它仍缺少本机应用程序的可视外观和操作。
在开发和引入标准窗口小部件工具箱(SWT)之前,业内权威人士和开发人员都宣告 Java 语言不适合开发桌面应用程序。SWT 通过为开发人员提供一个创建应用程序的框架(所创建的应用程序完全逼真地模仿本机应用程序),正开始给客户机端 Java 的时机带来新气象。与其前辈(例如 AWT 和 JFC)不同,SWT 给开发人员提供了一个与平台无关的 API,该 API 与操作系统的本机窗口环境紧密地集成在一起。虽然,传统上认为 Eclipse 项目是 Java 的开放源码集成开发环境(IDE),但是该项目涉及的范围更广。在 Eclipse 的网站首页上,将 Eclipse 描述成“……一种通用工具平台 — 只不过是一个开放的可扩展 IDE,并没什么特别之处。”
虽然在开发本文提供的样本应用程序期间使用了 Eclipse,但是我们将着重演示如何在独立应用程序的上下文中使用 ActiveX 控件。有关 Eclipse 项目的更多信息和背景知识,请参阅本文末尾的参考资料。
PDF 查看器应用程序
在查看如何将 ActiveX
控件集成到 SWT 应用程序的代码和实现细节之前,让我们查看一下所包含的样本应用程序的用途和结构。该应用程序是一个简单的 PDF 查看器,它允许用户使用
Adobe 的 Acrobat Reader 控件来查看 PDF 文件并与之交互。用户可以在 SWT 应用程序中浏览其硬盘驱动器、定位文件和查看 PDF
文档,如图 1 中所示。
图 1. 样本应用程序:在 Microsoft Windows XP 上运行的 PDF
查看器
环境需求
可以使用参考资料中的链接下载样本 PDF 查看器应用程序。要测试
PDF 查看器应用程序,环境必须满足下列最低需求:
虽然已经费心使 Ant 构建脚本可以跨平台使用,但是只在 Microsoft Windows XP 上测试和验证了 PDF 查看器应用程序。让我们从安装和设置样本应用程序开始吧。
安装和构建 PDF 查看器应用程序
要安装和构建
PDF 查看器应用程序,请完成下列步骤:
pdfviewer.zip
文件解压缩到临时目录中。
ant clean
。
ant
。如果您的环境满足需求并且配置正确,那么您应当会看到类似于下面这样的内容:
|
使用 ActiveX 控件
既然我们已经介绍了
PDF 查看器应用程序的基础知识,那就让我们研究一下如何在 SWT 应用程序中集成和使用 ActiveX 控件。因为我们这里的目的是讨论 ActiveX
集成,所以我们将不研究如何创建独立的 SWT 应用程序以及如何在 Microsoft Windows 中使用 ActiveX 控件。有关如何在 Eclipse
Workbench 之外使用 SWT 组件的更多信息和背景知识,请参阅 Adrian Van Emmenis 的由三部分所组成的文章系列,本文末尾的参考资料这一节中突出显示了这些文章。
清单 1 概述了
PDFViewer
类的基本结构并演示了如何将 ActiveX 控件集成到 SWT 应用程序。
|
让我们逐步研究这一代码片段:
PDFViewer
类的新实例。
OleControlSite
和
OleAutomation
。OleControlSite
对象变量处理与 ActiveX
控件的交互。OleAutomation
对象允许开发人员访问特性并执行 ActiveX 控件所提供的命令。
OleFrame
对象。该对象是 ActiveX 控件的容器,并管理该控件的生命周期。
site
变量:第一个参数包含对 OleFrame
的引用,第二个参数包含标识 ActiveX 控件的字符串。程序标识符(可在 Windows 注册表中找到)在 Microsoft Windows
中唯一地标识该控件。
OleControlSite
变量的引用来实例化 site
变量。选择 PDF 文档
在用户可以查看 PDF
文档之前,用户需要从其工作站选择 PDF 文档。下面清单 2
中的代码说明了为最终用户打开一个文件对话框所必需的对象和方法。
|
让我们简要地研究这一代码片段:
run
方法。
FileDialog
对象。如图 2
所示,该对象向用户显示一个本机文件对话框。
window
对象的数据类型转换成 PDFViewer
对象。
loadFile
方法并传入所选 PDF 文档的位置。在接下来的几节中,我们将更详细地研究
loadFile
方法。列出 ActiveX
的命令
在讨论如何在查看器应用程序中显示 PDF 文档之前,了解在 Adobe Acrobat Reader Active
X(PDF.PdfCtrl.5
)组件中实际上可以使用哪些命令是有用的。样本代码软件包包括了由 IBM 开发的类。该类列出了
ActiveX 控件所公开的所有公用命令。
要枚举用于 PDF.PdfCtrl.5
控件的命令,请在 PDFViewer 目录中执行下面的命令:ant
activex
。
如果您的环境配置正确,那么您应当会看到类似于下面这样的内容:
|
要查看用于任何其它 ActiveX 控件的命令,只要编辑包含在源代码中的 build.xml
文件,并用一些其它 ActiveX
的程序标识符替换该类的参数。下面的 Ant 目标说明了要插入控件的程序标识符的位置。
|
从该类输出的第一个命令是 LoadFile。让我们研究一下如何在 PDF 查看器应用程序中应用这个命令。
执行 ActiveX 命令
一旦用户选择了一个
PDF 文档,PDFViewer
类就需要执行 ActiveX 控件中所公开的命令。下面清单 4 中的代码说明了使 ActiveX
控件装入用户所选的 PDF 文档所需的对象和方法。
|
让我们研究这一代码片段:
loadFile
方法。
showPdfControl
方法。必须使用 doVerb
命令激活 ActiveX
控件之后,该控件在应用程序中才可见。在 Eclipse 网站上标题为“ActiveX Support In
SWT”的文章中可以找到动词的完整清单和概述(请参阅参考资料以获取该文章的链接)。
LoadFile
命令。有关如何使用在这些行中用到的每个对象的更多信息,请参阅参考资料中的链接以获取
org.eclipse.swt.ole.win32 JavaDoc。运行 PDF 查看器应用程序
要测试和运行 PDF
查看器应用程序,请完成下列步骤:
ant run
。
结束语
SWT 库向 Java
开发人员提供一种功能强大的机制,使 Microsoft Windows ActiveX 控件集成到高度交互的客户机端应用程序。有了 SWT 对 ActiveX
控件和 OLE 文档的支持,研究如何创建外观极棒的且集成了本机窗口小部件和组件的应用程序是令人激动的。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号