Java 如何使用双击而不是JFileChooser打开文件

Java 如何使用双击而不是JFileChooser打开文件,java,Java,我用java创建了一个mp3播放器,然后将其创建为.exe文件。现在要在mp3播放器中播放歌曲,我必须在JFileChooser中选择歌曲,然后它播放该歌曲 if (chooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) { Path=chooser.getSelectedFile().getAbsolutePath().replace('\\','/'); 但我希望当我在Windows资源管理器或我的电脑中双击这首歌

我用java创建了一个mp3播放器,然后将其创建为.exe文件。现在要在mp3播放器中播放歌曲,我必须在
JFileChooser
中选择歌曲,然后它播放该歌曲

if (chooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {
    Path=chooser.getSelectedFile().getAbsolutePath().replace('\\','/');

但我希望当我在Windows资源管理器或我的电脑中双击这首歌时,它会像VLC或其他播放器一样直接播放这首歌。我们不需要首先在文件选择器中选择歌曲,我们只需要单击一首歌曲并播放它

这是windows配置问题,可能是应用程序问题

1) 在windows中,您需要与.mp3文件建立关联,以便在打开mp3时使用您的程序。如果右键单击MP3->Open With,则可以为该文件类型选择defalut程序


2) 在您的程序中,您需要处理将要传递到应用程序中的文件信息,以便打开它。因此,您不必使用JChooseer提供的文件信息,而是要使用作为输入传递到应用程序中的文件信息。

您需要将应用程序与支持的文件类型关联起来。在Windows上,这意味着在注册表中创建与URI方案的关联。请看这里:


这是当您右键单击并选择要打开特定文件类型的可执行文件时发生的情况。

在主方法中添加到Raymond Holguin的答案中,保存第一个参数,如果它是一个文件,则将其发送到您的播放器类并设置为开始播放(不使用播放按钮显示UI)

  • 此外,您需要确保每个客户/用户的应用程序都通过扩展名与音频文件类型相关联。可以使用assoc在命令propmt或windows资源管理器工具/选项菜单中使用脚本
 public static void main(String args){
     if(args.length > 0){
          java.io.File possibleAudioClipFile = new File(args[0]);
          if(possibleAudioClipFile.exists() && possibleAudioClipFile.isFile.isFile() && possibleAudioClipFile.canRead()){

 /might want to check extn or first few bytes then play or show error msg and exit/ show default UI
     }

 }