用filechooser打开选择文件对话框后 如何将指定文件的路径显示在textfield里?同理,设置好保存路径后如何将保存路径显示在textfield里面呢?
使用的自定义FileFilter,也就是说,写个继承FileFilter的类。而继承这个类只需要实现这个抽象类里面的方法public boolean accept(File f),根据其返回的Boolean值确定过滤那些文件。
这样讲有点啰嗦,看个例子。
[code="java"]import javax.swing.filechooser.FileFilter;
public final class PictureFileFilter extends FileFilter {
public boolean accept(File f) {
if (f != null) {
if (f.isDirectory()) {//只接受目录
return true;
}
}[/code]
当然这不是想要的,你想要以txt结尾的文件。你需要用到下面方法。
[code="java"]private String getExtension(File f) {
if (f != null) {
String filename = f.getName();
int i = filename.lastIndexOf('.');
if (i > 0 && i < filename.length() - 1) {
return filename.substring(i + 1).toLowerCase();
}
}
return null;
}[/code]
达到后缀名之后跟txt比较,根据返回真假值。
[code="java"]String extStr = getExtension(file);
return extStr!=null&&extStr.equals("txt")?true:false;[/code]
到此完成
[code="java"]public void openFile() {
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fileChooser.setDialogTitle("打开文件夹");
int ret = fileChooser.showOpenDialog(null);
if (ret == JFileChooser.APPROVE_OPTION) {
//文件夹路径
System.out.println(fileChooser.getSelectedFile().getAbsolutePath());
//用上面这个方法设置textfield
}
}[/code]
设置textfield使用setText
[quote]setText(String t)
Sets the text that is presented by this text component to be the specified text.[/quote]
[quote]设置好保存路径后如何将保存路径显示在textfield里面呢? [/quote]
将路径存在变量里。