2017-03-05 85 views
0

我开发了一个带有JavaFX的媒体应用程序,可以在用户请求时浏览Windows资源管理器并打开与此应用程序兼容的文件。例如:我可以点击“打开文件”按钮,浏览文件夹并在我的应用程序中打开任何带有兼容扩展名的文件。如何通过在Windows资源管理器中直接点击它来打开文件

我的问题是:我可以在Windows资源管理器中单击一个文件,并立即使用我的应用程序而不是任何其他应用程序打开该文件?例如:当你双击一个视频文件时,它会打开默认的媒体播放器。我想实现的是这个文件打开,而不是我的应用程序。

+2

https://docs.oracle.com/javase/tutorial/deployment/selfContainedApps/fileassociation.html维护者 – NineBerry

+0

你必须去你想要一个文件打开。右键单击它并选择打开并选择另一个应用程序。您可能还需要在此电脑上使用其他应用程序。找到你的程序exe并点击它。 – Sedrick

+0

除了Java Web Start之外,还有其他方法吗?这似乎是我想要完成的东西太多了。 – Matheus

回答

0

在开发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

相关问题