我开发了一个带有JavaFX的媒体应用程序,可以在用户请求时浏览Windows资源管理器并打开与此应用程序兼容的文件。示例:我可以单击"打开文件"按钮,浏览文件夹并在我的应用程序中打开任何具有兼容扩展名的文件。
我的问题是:我是否可以点击Windows资源管理器中的文件,并使用我的应用程序而不是任何其他应用程序立即打开该文件?示例:当您双击视频文件时,它将使用默认媒体播放器打开。我想要实现的是这个文件打开而不是我的应用程序。
答案 0 :(得分:0)
在开发JavaFX应用程序时,您可能希望查看Oracle JDK附带的javapackager
。但是,您可能需要查看javafx-maven-plugin,而不是直接使用javapackager
,它包含一个内置支持,可以在安装时将您自己的文件分配给您的应用程序:
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.8.3</version>
<configuration>
<mainClass>com.zenjava.test.Main</mainClass>
<verbose>true</verbose>
<fileAssociations>
<fileAssociation>
<description>association 1</description>
<extensions>ext1</extensions>
<contentType>application/dummy</contentType>
<icon>somePathToIcon</icon>
</fileAssociation>
<fileAssociation>
<description>association 2</description>
<extensions>ext2</extensions>
<contentType>application/dummy2</contentType>
</fileAssociation>
</fileAssociations>
</configuration>
</plugin>
为了使其正常工作,只需调用mvn clean jfx:native
并创建安装程序,即为您创建文件关联。
您可以在此处找到单个文件类型关联的示例:https://github.com/javafx-maven-plugin/javafx-maven-plugin/tree/master/src/it/22-create-fileassociations-single-mimetypes
对于多个文件扩展名,您可以在此处找到示例:https://github.com/javafx-maven-plugin/javafx-maven-plugin/tree/master/src/it/21-create-fileassociations
请记住,文件 - 文件关联仅在安装应用程序时完成,并且在删除应用程序时将被删除,这意味着开发您想要安装一次并且可能想要替换该软件包。
免责声明:我是javafx-maven-plugin
的维护者