将文件扩展名与JavaFX Mac OS X应用程序关联

3

我已经为Mac OS X打包了一个JavaFX应用程序。现在我正在尝试将文件扩展名与sample.app应用程序关联起来。这个是我能找到的最后一个有关此问题的问题,但我无法使其工作。我是否错过了什么新内容?

1个回答

1

Java 8u40新增了一个功能,即允许为OS X本地封装应用程序指定文件关联。该功能是Java客户端打包程序中的新功能。

以下是Oracle Java 8u40客户端应用程序部署文档的内容:

7.3.7 Associating Files with a Self-Contained Application

The installer for a self-contained application can be set up to register file associations for the application. The element is used in an Ant task to identify the files that can be handled by the application. File associations are based on either the file extension or MIME type.

The following example associates the application with files that have the MIME type application/x-vnd.MyAppFile.

<fx:info title="Association example">   
    <fx:association
        mimetype="application/x-vnd.MyAppFile" description="Sample Test Files">   
    </fx:association> 
</fx:info>

Java 8u40实施的相关问题:


1
太好了!我在你回答这个问题的时候正在阅读文档。虽然我仍然有一个问题:只有当我的应用程序已经运行并且我双击具有处理扩展名的文件时,OpenFilesEvent才会触发。如果是双击打开应用程序本身,是否也可能触发此事件? - u09
“OpenFilesEvent”是什么?你能提供相关文档链接吗?好的,我在你的问题中的链接中看到了“com.apple.eawt.AppEvent.OpenFilesEvent”。我想即使有时候可以工作(我不确定),Oracle Java Runtime也不支持“com.apple”API。 - jewelsea
我正在使用setOpenFilesHandler来知道哪个文件打开了我的应用程序这里是文档。我这样做是为了当我双击一个文件时,可以打开我的应用程序并显示文件内容。问题是只有当我的应用程序已经打开时,OpenFilesEvent才会触发。 - u09
是的,但那是针对苹果版Java的文档,据我所知,最后一个版本是Java 1.6。它不是针对Mac上的Oracle Java版本的文档(这是您正在使用的版本,也是我的答案所涉及的版本)。您链接的文档和功能不太可能适用于并得到Oracle Java运行时在Mac上的官方支持。 - jewelsea
我建议您在JavaFX开发者邮件列表上发布一个链接到您之前相关(且目前未得到答复)的StackOverflow问题:通过双击文件将参数传递给JavaFx应用程序,看看那里是否有人具备回答它的专业知识(我没有这样的专业知识)。 - jewelsea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接