FileFilter for JFileChooser

Tan*_*nay 13 java swing jfilechooser filefilter

我想限制一个JFileChooser只选择mp3文件.但是,以下代码允许所有文件类型:

FileFilter filter = new FileNameExtensionFilter("MP3 File","mp3");
fileChooser.addChoosableFileFilter(filter);
fileChooser.showOpenDialog(frame);
File file = fileChooser.getSelectedFile();
Run Code Online (Sandbox Code Playgroud)

Pau*_*tha 21

尝试使用fileChooser.setFileFilter(filter)而不是fileChooser.addChoosableFileFilter(filter);


Sam*_*uel 9

如果你只想要mp3文件:

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

public class SalutonFrame {

    public static void main(String[] args) {
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setAcceptAllFileFilterUsed(false);
        FileNameExtensionFilter filter = new FileNameExtensionFilter("MPEG3 songs", "mp3");
        fileChooser.addChoosableFileFilter(filter);
        fileChooser.showOpenDialog(null);

    }
}
Run Code Online (Sandbox Code Playgroud)


Ami*_*ani 8

尝试:

FileFilter filter = new FileNameExtensionFilter("My mp3 description", "mp3");
Run Code Online (Sandbox Code Playgroud)

第一个参数只是对FileNameExtensionFilter- 的描述- 因为第二个参数是var args,你可以像你一样把它留下来,实际上意味着没有过滤器.