private File getFile() {
File txtFile = null;
JFileChooser fileChooser = new JFileChooser();
// fileChooser.removeChoosableFileFilter(fileChooser.getFileFilter());
fileChooser.addChoosableFileFilter(new ExampleFileFilter("txt"));
fileChooser.addChoosableFileFilter(new ExampleFileFilter("xls"));
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
int state = fileChooser.showDialog(this, "选择导入文件");
if (state == JFileChooser.APPROVE_OPTION) {
txtFile = fileChooser.getSelectedFile();
}
return txtFile;
}
class ExampleFileFilter extends FileFilter {
String suffix = "";
ExampleFileFilter(String suffix) {
this.suffix = suffix;
}
public boolean accept(File f) {
String suffix = getSuffix(f);
if (f.isDirectory() == true) {
return true;
}
if (suffix != null) {
if (suffix.toLowerCase().equals(this.suffix)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
public String getDescription() {
return "*." + this.suffix;
}
private String getSuffix(File f) {
String s = f.getPath(), suffix = null;
int i = s.lastIndexOf('.');
if (i > 0 && i < s.length() - 1)
suffix = s.substring(i + 1).toLowerCase();
return suffix;
}
}
swing 打开文件过滤器
最新推荐文章于 2021-03-10 10:56:01 发布
本文介绍了一个使用Java实现的文件选择器,该选择器允许用户从特定类型的文件中进行选择,例如文本文件(.txt)和Excel文件(.xls)。通过自定义文件过滤器ExampleFileFilter,可以限制文件选择器仅显示所需类型的文件。
646

被折叠的 条评论
为什么被折叠?



