JFileChooser的使用心得(FileFilter)
使用JFileChooser时,需要使用FileFilter来过滤出我们希望得到的数据、而据我查资料了解,可以写出几种文件过滤的方法、贴出2中常用方法来过滤文件类型:
package ui;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class FileChooserUtil {
private static JFileChooser fileChooser;
static {
fileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"Excel文件(*.xls)", "xls");
fileChooser.setFileFilter(filter);
fileChooser.showOpenDialog(null);
}
public File getSelectedFile() {
return fileChooser.getSelectedFile();
}
}
需要注意的一点是:fileChooser.showOpenDialog(null);这句代码,必须要放在文件过滤代码的下面,如果放在过滤代码之前,会有意想不到的效果,有兴趣的可以试试。
第二种文件过滤的代码:
package ui;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
public class FileChooserUtil {
private static JFileChooser fileChooser;
static {
fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
// TODO Auto-generated method stub
return "显示Excel 文件(*.xls)";
}
@Override
public boolean accept(File f) {
// TODO Auto-generated method stub
if (f.getName().toLowerCase().endsWith(".xls")
|| f.isDirectory())
return true;
return false;
}
});
fileChooser.showOpenDialog(null);
}
public File getSelectedFile() {
return fileChooser.getSelectedFile();
}
}
这两种方法用的还是比较多的,需要注意的是accept()返回布尔型,可以设定你想过滤的格式,然后遇到这种格式的时候,返回真就可以在JFileChooser的窗体里面是显示了。

浙公网安备 33010602011771号