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的窗体里面是显示了。

 


 

posted @ 2013-04-13 20:57  Mr轨迹  阅读(1439)  评论(0编辑  收藏  举报