首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像winamp选择文件这样的java程序

像winamp选择文件这样的java程序
EN

Stack Overflow用户
提问于 2012-08-17 16:16:29
回答 2查看 127关注 0票数 1

用户可以使用JFileChooser选择一个或多个mp3文件吗?

使用此方法,我只能选择用户一个文件。

EN

回答 2

Stack Overflow用户

发布于 2012-08-17 16:24:40

只需将多选设置为true,选择模式设置为JFileChooser.FILES_AND_DIRECTORIES,它将适用于多个文件和一个目录中的所有文件:

代码语言:javascript
复制
fileChooser.setFileSelectionMode( JFileChooser.FILES_AND_DIRECTORIES );
fileChooser.setMultiSelectionEnabled(true);

然后以这种方式检索所有文件:

代码语言:javascript
复制
fileChooser.getSelectedFiles();
票数 6
EN

Stack Overflow用户

发布于 2012-08-17 17:05:40

我对你的要求的理解是:

  • 用户可以选择一个或多个文件
  • 如果选择了单个文件,则使用该文件
  • 如果选择了多个文件,则需要创建播放列表并使用此播放列表。

如果这是您想要的,我认为以下方法可能适用于此场景。请注意,我将实现留给了您,因为您知道如何创建播放列表或如何创建单个文件并将其提供给您的播放器。

代码语言:javascript
复制
/** This method returns a set of files chosen by the user. 
  * Returns null if selection is cancelled 
  **/
private File[] openFiles(){

    JFileChooser fileChooser = new JFileChooser();
    fileChooser.setMultiSelectionEnabled(true);
    fileChooser.setFileSelectionMode( JFileChooser.FILES_AND_DIRECTORIES );

    int optionChosen = fileChooser.showOpenDialog(this);

    return (optionChosen == JFileChooser.CANCEL_OPTION) ? null : fileChooser.getSelectedFiles();
}

public void actionPerformed(ActionEvent e){
    File[] selectedFiles = openFiles();

    if(selectedFiles == null){
       //handleNoFileChosen
    }else if(selectedFiles.length == 1){
        //handle single file selected
    }else{
        //handle creating playlist
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12002183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档