理解JDIC中的文件类型关联-Java基础-Java-编程开发
2008-05-20 05:41
696 查看
google_ad_client = "pub-8800625213955058";
/* 336x280, 创建于 07-11-21 */
google_ad_slot = "0989131976";
google_ad_width = 336;
google_ad_height = 280;
//
原文作者: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操作系统环境还是苹果公司的MacintoshOSX都有几种类型的桌面图形用户界面来表示计算机上可连同程序一起运行的文件。当用户在一个数据文件上点击时候,操作系统是如何知道需要以哪个应用程序来打开这个数据文件的呢?当用户决定在WINDOWS操作系统上更改一个文件的文件名,然而却忽略了附上文件的扩展名,那么WINDOWS为什么会突然地忘记了该使用哪个程序来使用这个文件呢?
很容易回答上面的问题:每种操作系统都维护着一个与文件扩展名相关信息的数据表。每个扩展名关联到一种文件类型,在这样的一个数据表里,每种文件类型类型都有至少一种以上的动作与之相关。这些动作通常是诸如打开,编辑或者打印文件。此外,每种动作都会找到根据与之关联的可执行程序来完成这些功能。在一种文件上发起一个动作时候,操作系统就到那个保存了跟扩展名有关联的信息表里去找出与这种文件对应的默认的应用程序来执行。当操作系统不能在这个信息表里找到默认的程序的时候,将会询问用户选取某个应用程序来执行他们所希望的动作。
在WINDOWSXP上,点选任一文件系统窗口上的菜单项“工具->文件夹选项”菜单就可看到上文提到的信息表。下图就显示了这个信息表上关于.TXT文件对应的编辑程序。选中扩展名TXT后,点击对话框底部的“高级”按钮。请注意列在新弹出的对话框里的三个动作:“打开”,“打印”,“打印到”。在动作列表中点选名为“打开”的那个选项后在点击“编辑”按钮就会出现另一个对话框。这个“打开”动作使用了NOTEPAD.EXE程序来为所有扩展名是.TXT的文件执行“打开”的动作的。假如用户无意中把.TXT的扩展名改成了.txr,那么操作系统就不知道启用哪个程序来为这个扩展名是.txr的文件执行打开动作了,就是因为在信息表里没有关于扩展名为.txr的记录。
JDIC中的关联类
==============
正如那句响亮的话语:“一次编写,到处运行”那样,JAVA平台隐藏了与操作系统特性的相关。这也就使得JAVA应用程序能够访问文件类型信息表。JDIC致力于解决这样的问题。安装上JDIC的库文件,J在AVA平台上开发的程序员就通过使用一些类来做与文件关联相关的任务了。你应该熟悉三个主要的类:AssociationService,Association,Action,这三个主要的类位于org.jdesktop.jdic.filetypes包。请注意:本文仅以org.jdesktop.jdic.filetypes包里的Action类来讲述,不牵扯任何WAT或者JAVA基本类库(JFC)和SWING中的类。
org.jdesktop.jdic.filetypes.Association
程序员借助Association类来创建新的文件类型或者更改现存的文件类型。可使用这个类里的一些方法来编辑文件类型,MIME扩展类型,与文件类型对应的图标以及关联到文件类型的动作。
org.jdesktop.jdic.filetypes.Action
借助Action类来为文件类型指定动作。所谓的动作就入上文中提到的包括“打开”或者“编辑”。为每一个动作指派一个可执行程序的路径来实现功能。必须在文件类型上把Action对象添加到Association对象。
org.jdesktop.jdic.filetypes.AssociationService
AssociationService类用来让程序员在文件类型信息表中添加或删除条目。既可用管理员身份或者一般用户的身份来实现这样的功能。这个类用Association对象在文件类型信息表中作添加或删除的动作。当AssociationService类在文件类型信息表上做添加或编辑操作后,那么对应的文件类型就在信息表里驻留下来了。这种驻留不会因为那个创建或者进行编辑文件类型的JAVA应用程序的结束而改变,直到文件类型信息条目由于外部的某些原因或者是由于AssociationService对象做的工作导致被删除了才会改变。AssociationService对象在文件类型信息表里既能查找特定的文件扩展名,也能查找MIME的类型。如果找到了需要的文件类型了,那么就返回一个代表那种文件类型的Association对象。AssociationService对象可访问文件类型信息表里的条目,因此程序员就能更改一些内容,比如让扩展名doc关联到StarOffice程序而不是微软的Word。
[1]
[2]
/* 336x280, 创建于 07-11-21 */
google_ad_slot = "0989131976";
google_ad_width = 336;
google_ad_height = 280;
//
原文作者: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操作系统环境还是苹果公司的MacintoshOSX都有几种类型的桌面图形用户界面来表示计算机上可连同程序一起运行的文件。当用户在一个数据文件上点击时候,操作系统是如何知道需要以哪个应用程序来打开这个数据文件的呢?当用户决定在WINDOWS操作系统上更改一个文件的文件名,然而却忽略了附上文件的扩展名,那么WINDOWS为什么会突然地忘记了该使用哪个程序来使用这个文件呢?
很容易回答上面的问题:每种操作系统都维护着一个与文件扩展名相关信息的数据表。每个扩展名关联到一种文件类型,在这样的一个数据表里,每种文件类型类型都有至少一种以上的动作与之相关。这些动作通常是诸如打开,编辑或者打印文件。此外,每种动作都会找到根据与之关联的可执行程序来完成这些功能。在一种文件上发起一个动作时候,操作系统就到那个保存了跟扩展名有关联的信息表里去找出与这种文件对应的默认的应用程序来执行。当操作系统不能在这个信息表里找到默认的程序的时候,将会询问用户选取某个应用程序来执行他们所希望的动作。
在WINDOWSXP上,点选任一文件系统窗口上的菜单项“工具->文件夹选项”菜单就可看到上文提到的信息表。下图就显示了这个信息表上关于.TXT文件对应的编辑程序。选中扩展名TXT后,点击对话框底部的“高级”按钮。请注意列在新弹出的对话框里的三个动作:“打开”,“打印”,“打印到”。在动作列表中点选名为“打开”的那个选项后在点击“编辑”按钮就会出现另一个对话框。这个“打开”动作使用了NOTEPAD.EXE程序来为所有扩展名是.TXT的文件执行“打开”的动作的。假如用户无意中把.TXT的扩展名改成了.txr,那么操作系统就不知道启用哪个程序来为这个扩展名是.txr的文件执行打开动作了,就是因为在信息表里没有关于扩展名为.txr的记录。
JDIC中的关联类
==============
正如那句响亮的话语:“一次编写,到处运行”那样,JAVA平台隐藏了与操作系统特性的相关。这也就使得JAVA应用程序能够访问文件类型信息表。JDIC致力于解决这样的问题。安装上JDIC的库文件,J在AVA平台上开发的程序员就通过使用一些类来做与文件关联相关的任务了。你应该熟悉三个主要的类:AssociationService,Association,Action,这三个主要的类位于org.jdesktop.jdic.filetypes包。请注意:本文仅以org.jdesktop.jdic.filetypes包里的Action类来讲述,不牵扯任何WAT或者JAVA基本类库(JFC)和SWING中的类。
org.jdesktop.jdic.filetypes.Association
程序员借助Association类来创建新的文件类型或者更改现存的文件类型。可使用这个类里的一些方法来编辑文件类型,MIME扩展类型,与文件类型对应的图标以及关联到文件类型的动作。
org.jdesktop.jdic.filetypes.Action
借助Action类来为文件类型指定动作。所谓的动作就入上文中提到的包括“打开”或者“编辑”。为每一个动作指派一个可执行程序的路径来实现功能。必须在文件类型上把Action对象添加到Association对象。
org.jdesktop.jdic.filetypes.AssociationService
AssociationService类用来让程序员在文件类型信息表中添加或删除条目。既可用管理员身份或者一般用户的身份来实现这样的功能。这个类用Association对象在文件类型信息表中作添加或删除的动作。当AssociationService类在文件类型信息表上做添加或编辑操作后,那么对应的文件类型就在信息表里驻留下来了。这种驻留不会因为那个创建或者进行编辑文件类型的JAVA应用程序的结束而改变,直到文件类型信息条目由于外部的某些原因或者是由于AssociationService对象做的工作导致被删除了才会改变。AssociationService对象在文件类型信息表里既能查找特定的文件扩展名,也能查找MIME的类型。如果找到了需要的文件类型了,那么就返回一个代表那种文件类型的Association对象。AssociationService对象可访问文件类型信息表里的条目,因此程序员就能更改一些内容,比如让扩展名doc关联到StarOffice程序而不是微软的Word。
[1]
[2]
相关文章推荐
- 全面理解Java中的String数据类型-Java基础-Java-编程开发
- 从Java应用程序动态生成PDF文件-Java基础-Java-编程开发
- 用Javap反编译帮你理解Java特性-Java基础-Java-编程开发
- 在Web应用中动态创建PDF文件-Java基础-Java-编程开发
- Java初学者都必须理解的六大问题-Java基础-Java-编程开发
- 熟练掌握JDK1.5枚举类型-Java基础-Java-编程开发
- 用Java实现HTTP文件队列下载-Java基础-Java-编程开发
- 理解Java面向对象的程序设计思想-Java基础-Java-编程开发
- 跨越边界: Java 模型以外的类型策略-Java基础-Java-编程开发
- java文件操作大全-Java基础-Java-编程开发
- 深入分析java中webwork中的文件上传机制-Java基础-Java-编程开发
- 利用Java Applet播放声音文件-Java基础-Java-编程开发
- Java抽取Word,PDF格式文件的四种武器-Java基础-Java-编程开发
- 基于java的图片文件格式转换和线性缩放-Java基础-Java-编程开发
- Java 编程读写 Hadoop Sequence 类型文件
- Java基础(一)深入理解基本类型
- Java基础---Java---网络编程---TCP、UDP、UDP-键盘录入方式数据、Socket、TCP复制文件、UDP-聊天
- 跟着姜少学Java基础编程之二:类型转换
- 利用JDIC添加文件类型关联
- JAVA基础二(java中的注释、ava编程语法基础、java数据类型、数据类型的转换、变量、运算符、分支语句、循环语句)