如何通过在Windows资源管理器中直接单击它来打开我的程序文件

时间:2017-03-05 01:18:36

标签: java windows javafx

我开发了一个带有JavaFX的媒体应用程序,可以在用户请求时浏览Windows资源管理器并打开与此应用程序兼容的文件。示例:我可以单击"打开文件"按钮,浏览文件夹并在我的应用程序中打开任何具有兼容扩展名的文件。

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

1 个答案:

答案 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

的维护者