将应用程序作为默认应用

时间:2016-03-19 11:29:55

标签: java swing

我在java swing中创建了一个音乐应用程序,我想将它设置为所有mp3格式文件的默认音乐播放器。有没有人知道怎么做? Reference screenshot

就像在截图中所有pdf文件在adobe reader上打开一样。我的应用程序运行正常,我运行它没有问题。目前,我打开了我的应用程序中的文件,但现在我希望每当我双击它在我的应用程序中打开的mp3文件时。

注意:我已经创建了一个可执行文件,但是当我点击打开时,我需要窗口建议打开我的应用程序。

3 个答案:

答案 0 :(得分:2)

这里需要的是MP3和你的应用程序之间的文件关联。

实现Java富客户端桌面应用程序的最简单方法是使用Java Web Start

  

JWS提供了许多吸引人的功能,包括但不限于启动屏幕,桌面集成,文件关联,自动更新(包括延迟下载和程序控制更新),本地分区和&按平台,体系结构或语言环境下载的其他资源,运行时环境的配置(最低J2SE版本,运行时选项,RAM等),使用扩展轻松管理公共资源..

答案 1 :(得分:1)

非常简单:.jar - 文件本身不可执行。 JVM是可运行的。解决方法是在例如CC++中编写包装器应用程序并将其编译为可执行文件。或者使用像launch4j这样的包装器库。您可以在此处找到有关这些包装的更多信息:wrapper-libraries for java

如果您绝对想要在java-app中编辑文件关联,可以使用JDIC来完成该任务。

boolean editDefaultApplication(){
    AssociationService serv = new AssociationService();

    //try to remove old association
    Association logassoc = serv.getFileExtensionAssociation(".mp3");       

    try {
        serv.unregisterUserAssociation(logassoc);
    } catch (java.lang.IllegalArgumentException |  AssociationNotRegisteredException | RegisterFailedException e) {
         e.printStackTrace();
         return false;
    }

    //add your own application as default
    logassoc.addFileExtension(".mp3");
    logassoc.addAction(new org.jdesktop.jdic.filetypes.Action("open", "<path to wrapper executable>"));
    try {
        serv.registerUserAssociation(logassoc);
    } catch (java.lang.IllegalArgumentException |  AssociationNotRegisteredException | RegisterFailedException e) {
         e.printStackTrace();
         return false;
    }

    return true;
}

答案 2 :(得分:-1)

Shift +右键单击mp3文件,选择“打开方式”。现在,在打开的对话框中选择您的可执行文件并选中“始终打开”

使用jar文件,你可以执行java.exe传递参数java -jar yourjarname.jar