原文作者:JackConradson
文章出处:http://java.sun.com/developer/technicalArticles/J2SE/Desktop/jdic_assoc
译者:Hardneedl
联系译者:HardNeedl@126.COM
JDesktopIntegrationComponents(JDIC)站点https://jdic.dev.java.net
文章索引
========
SUN微系统公司赞助了JDesktopIntegrationComponents(JDIC)项目。这个项目可使用JAVA
技术来访问某些操作系统特有功能,包括:
.设置文件类型的关联
.把某一WEB浏览器装载到抽象图形工具(AbstractWindowToolkit)的画布上
.把JAVAWEBSTART程序打包成本机安装程序
.支持系统托盘以及托盘上的弹出式菜单
.开启桌面应用程序,更进一步来进行编辑和打印文件。
本文将来讲述上面列出的五种功能之中的第一:文件类型关联。
什么叫做关联?
=============
每种操作系统,无论是微软的WINDOWS,linux,SOLARIS操作系统环境还是苹果公司的Macintosh
OSX都有几种类型的桌面图形用户界面来表示计算机上可连同程序一起运行的文件。当用户在一个
数据文件上点击时候,操作系统是如何知道需要以哪个应用程序来打开这个数据文件的呢?当用户
决定在WINDOWS操作系统上更改一个文件的文件名,然而却忽略了附上文件的扩展名,那么WINDOWS
为什么会忽然地忘记了该使用哪个程序来使用这个文件呢?
很轻易回答上面的问题:每种操作系统都维护着一个与文件扩展名相关信息的数据表。每个扩展名
关联到一种文件类型,在这样的一个数据表里,每种文件类型类型都有至少一种以上的动作与之相关。
这些动作通常是诸如打开,编辑或者打印文件。此外,每种动作都会找到根据与之关联的可执行程序来
完成这些功能。在一种文件上发起一个动作时候,操作系统就到那个保存了跟扩展名有关联的信息表里
去找出与这种文件对应的默认的应用程序来执行。当操作系统不能在这个信息表里找到默认的程序的时候,
将会询问用户选取某个应用程序来执行他们所希望的动作。
在WINDOWSXP上,点选任一文件系统窗口上的菜单项“工具->文件夹选项”菜单就可看到上文提到的信息
表。下图就显示了这个信息表上关于.TXT文件对应的编辑程序。选中扩展名TXT后,点击对话框底部的
“高级”按钮。请注重列在新弹出的对话框里的三个动作:“打开”,“打印”,“打印到”。在动作列表
中点选名为“打开”的那个选项后在点击“编辑”按钮就会出现另一个对话框。这个“打开”动作使用了
NOTEPAD.EXE程序来为所有扩展名是.TXT的文件执行“打开”的动作的。假如用户无意中把.TXT的扩展名改
成了.txr,那么操作系统就不知道启用哪个程序来为这个扩展名是.txr的文件执行打开动作了,就是因为在
信息表里没有关于扩展名为.txr的记录。