我开发了一个带有JavaFX的媒体应用程序,可以在用户请求时浏览Windows资源管理器并打开与此应用程序兼容的文件。例如:我可以点击“打开文件”按钮,浏览文件夹并在我的应用程序中打开任何带有兼容扩展名的文件。如何通过在Windows资源管理器中直接点击它来打开文件
我的问题是:我可以在Windows资源管理器中单击一个文件,并立即使用我的应用程序而不是任何其他应用程序打开该文件?例如:当你双击一个视频文件时,它会打开默认的媒体播放器。我想实现的是这个文件打开,而不是我的应用程序。
我开发了一个带有JavaFX的媒体应用程序,可以在用户请求时浏览Windows资源管理器并打开与此应用程序兼容的文件。例如:我可以点击“打开文件”按钮,浏览文件夹并在我的应用程序中打开任何带有兼容扩展名的文件。如何通过在Windows资源管理器中直接点击它来打开文件
我的问题是:我可以在Windows资源管理器中单击一个文件,并立即使用我的应用程序而不是任何其他应用程序打开该文件?例如:当你双击一个视频文件时,它会打开默认的媒体播放器。我想实现的是这个文件打开,而不是我的应用程序。
在开发JavaFX应用程序时,您可能需要查看Oracle JDK附带的javapackager
。但是,而不是使用javapackager
直接,你在安装时可能要检查出JavaFX的Maven的插件,它包含有自己的文件内置支持被分配到应用程序:
<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
请记住,只有文件fileassociations是在安装应用程序时完成的,在删除应用程序时将被删除,这意味着开发人员希望安装一次并且可能需要替换该应用程序包。
免责声明:我的javafx-maven-plugin
https://docs.oracle.com/javase/tutorial/deployment/selfContainedApps/fileassociation.html维护者 – NineBerry
你必须去你想要一个文件打开。右键单击它并选择打开并选择另一个应用程序。您可能还需要在此电脑上使用其他应用程序。找到你的程序exe并点击它。 – Sedrick
除了Java Web Start之外,还有其他方法吗?这似乎是我想要完成的东西太多了。 – Matheus