1

ユーザーは JFileChooser を使用して 1 つまたは複数の mp3 ファイルを選択できますか?

この方法を使用すると、ユーザーは 1 つのファイルしか選択できません。

4

2 に答える 2

6

複数選択を true に設定し、選択モードを JFileChooser.FILES_AND_DIRECTORIES に設定するだけで、複数のファイルとディレクトリ内のすべてのファイルに対して機能します。

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

次に、この方法ですべてのファイルを取得します。

fileChooser.getSelectedFiles();
于 2012-08-17T08:24:39.567 に答える
2

あなたの要件に対する私の理解は次のとおりです。

  • ユーザーは 1 つまたは複数のファイルを選択できます
  • 単一のファイルが選択されている場合は、そのファイルで作業します
  • 複数のファイルが選択されている場合は、プレイリストを作成し、このプレイリストで作業します。

これが必要な場合は、このシナリオで次のことがうまくいくと思います。プレイリストを作成する方法、または単一のファイルを作成してプレーヤーにフィードする方法を知っているので、実装はあなたに任せていることに注意してください。

/** 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
    }
}
于 2012-08-17T09:05:40.463 に答える