介绍JDesktop Integration Components - 编程入门网
介绍JDesktop Integration Components时间:2011-09-07 ibm Michael Abernethy用JDIC在桌面应用程序中集成本机操作系统特性 简介:本文将介绍 JDesktop Integration Components (JDIC),这是一个 开源的项目,目的是构建消除本机应用程序和 Java 等价物之间差距的组件。 JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台 支 持。它目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、 系统托盘支持、文件扩展集成和其他桌面特性。 开发人员和用户对 Swing 最大的一个抱怨(也是对 Java 编程语言整体上的 抱怨)是,客户端应用程序给人的感觉与本机应用程序的不同。(本机应用程序 是指用采用操作系统内置库的编程语言编写的应用程序,例如运行在 Windows 上 的 Visual C++ 应用程序。)虽然 Java 应用程序表现得像本机应用程序那样好 ,但是还是遗漏了某些地方,从而使用户注意到了差异。基本的问题是 Java 应 用程序不能 真正地表现得像本机应用程序那样,因为本机应用程序有其不公平 的 一面:它们可以专门针对操作系统进行编写,这让它们可以利用特别的本机操作 系统函数。Java 代码受到自己“随处运行”的咒语限制,并且调用本机函数( 例 如通过 Java 本机接口)是一个大忌。 直到现在,Java 开发人员一直希望用这个不足换取能够编写在任何操作系统 上均可运行的软件的优势。但是,随着 Java SE 5 的发布,特别是 Sun 对增强 Java 桌面的推动,有些开发人员想让 Java 应用程序和本机应用程序之间的差 异 最终消失。创建 JDIC 就是了为消除这个差异(请参阅 参考资料)。就像 JDIC Web 站点声称的那样,JDIC 的目标是“让基于 Java 技术的(‘Java 应用程序 ’) 在不牺牲平台独立性的情况下,成为当前桌面平台的一等公民。” 这本文将介绍 JDIC 项目,以及它如何成功地让 Java 客户端应用程序表现 得 更加本机化。通过一系列示例,您可以看到 JDIC 中目前所拥有的组件,以及尚 在“孵化器”中(工作进行中)的一些组件。我们将要介绍 JDIC 所提供的差不 多每个组件,在理想情况下,这些将激发您足够的兴趣,让您将 JDIC 应用到您 的应用程序中,甚至有助于说服您也为这个项目做点贡献。 关于 JDIC 的一个重要说明是:它仍然是一个 beta 项目,这意味着它还没 有 得到任何 JDK 发行版的支持,未来任何时候都可能发生变化。所以一定要把必 要 的文件与基于 JDIC 的应用程序一同提供,因为没有 Java 虚拟机(JVM)会支 持 它。而且因为 API 有可能在发行版之间变化,所以这篇文章中的函数名称今后 可 能会有所不同。 它是一个包装 JDIC 项目有两个目标:维护 Java API 的跨平台,让程序可以在任何机器上 运行,并支持人们使用的每个操作系统。因为新功能要求调用每个操作系统的本 机函数,所以这显然处在一个很艰难的位置上。JDIC 是通过将其 Java API 作 为 所有这些本机调用的包装器来实现这一点的。JDIC 组件代码本身指出正在哪个 操 作系统上运行应用程序,并调用适当的 JNI 函数。(您可以看到,在代码内部 有 针对每个操作系统的 if/else 链。这就是跨平台兼容性的代价。)图 1 演示了 JDIC 包装本机调用的方式: 图 1. JDIC 如何包装本机调用 介绍JDesktop Integration Components(2)时间:2011-09-07 ibm Michael Abernethy设置 编写和运行使用 JDIC 应用程序的机器设置比通常情况略微麻烦一些。除了 通 常的类路径要求之外,还必须提供 Java 类要调用的操作系统库。每个操作系统 都有不同的操作系统库,所以如果想使用 JDIC 将应用程序移植到许多不同的操 作系统上,则必须为每个操作系统提供一个 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |