我想将特定文件类型与我的应用程序相关联,因此当我双击此特定类型的文件之一时,我的应用程序将打开。这工作得很好,但是我双击的文件没有作为参数传递给我的程序。
例如,如果我将我的应用程序与txt
文件关联并双击todo.txt
,我的应用程序将打开,但我不知道txt
我双击了哪个文件。
据我所知,这就是它应该在 OS X 上工作的方式,而不是依赖默认行为(它在例如 Windows 上的工作方式),我应该使用ApplicationListener.handleOpenFile();
from com.apple.eawt
. 但是,当我尝试这样做时,有人告诉我不允许这样做:
访问限制:由于所需库 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar 的限制,无法访问类型 ApplicationListener
在另一个问题中,一个人说他在某个中文网站上找到了解决方案,另一个人说根据 Java 的许可协议条款这是不合法的。
我在Mac OS X 开发人员库中找不到任何提及它的内容,并且该站点上有关 JAR Bundler的任何链接似乎有用,只会将我发送到Apple 开发人员站点上的死页。
我错过了什么?是否应该几乎不可能做到这一点,即使它在其他操作系统上微不足道?
可能值得一提...由于JAR
文件无法与 OS X 上的程序相关联,因此我使用JAR Bundler创建了一个OS X 应用程序包;一种 Apple 工具,专门用于将 Java 应用程序视为本机 OS X 应用程序。使用它首先使我能够将文件类型与我的应用程序相关联。