*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>Applet与Swing>文章内容
Java Swing学习:文件选择框
作者: 发布时间:2007-12-08 22:22:23

Java为文件选择框提供了JFileChooser类API。通过使用该类,可以很方便的现实文件选择对话框。见下例:

//建立文件选择框对象
JFileChooser fc=new JFileChooser();
//设定文件选择框标题
fc.setDialogTitle("Open class File");
//显示文件选择框,在选择后将结果储存到returnVal变量中
int returnVal = fc.showOpenDialog(app.getFrameInstance());
//如果用户选择了文件,并点击了"Opne/打开"按钮,显示用户选择的文件全名路径,
//如果用户点击"Close/关闭"按钮,以及其它方式退出文件选择框,则什么也不做。
  if (returnVal == JFileChooser.APPROVE_OPTION){
   File file = fc.getSelectedFile();
   System.out.println(file.getPath());
  }

注意在文件选择对话框中,可以进行选择目录的操作,只需要用FileChooser对象的setFileSelectionMode()方法指定其选择模式为目录选择。见下面代码

//上例中可以在文件对话框显示语句前加上下面代码,使对话框成为目录选择对话框
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

文件选择过程中,我们可以为文件选择对话框设置过滤器,有了过滤器的对话框,会用下拉列表的方式将过滤的文件名特征显示在"文件类型"组合框中,并将不符合条件的文件名和目录名过滤掉(不显示)。

为一个文件选择对话框设置过滤器需要定义过滤器类,见下例:

public class ClassFileFilter extends FileFilter{
 public boolean accept(File f) {
  String filename = f.getName();
        return filename.endsWith(".class");
 }
 public String getDescription() {
  return "*.class";
 }
}

该类定义了一个过滤Java类文件"*.class"的过滤器。
将它增加到文件选择对话框中,可以过滤出以.class为尾缀的文件。见下面代码:

fc.addChoosableFileFilter(new ClassFileFilter());

针对一个对话框,我们可以为其加装多个过滤器。这里有对过滤器更加诠释的代码:
public class ImageFilter extends FileFilter {
    //Accept all directories and all gif, jpg, tiff, or png files.
    public boolean accept(File f) {
        if (f.isDirectory()) {
            return true;
        }
        String extension = Utils.getExtension(f);
        if (extension != null) {
            if (extension.equals(Utils.tiff) ||
                extension.equals(Utils.tif) ||
                extension.equals(Utils.gif) ||
                extension.equals(Utils.jpeg) ||
                extension.equals(Utils.jpg) ||
                extension.equals(Utils.png)) {
                    return true;
            } else {
                return false;
            }
        }
        return false;
    }
    public String getDescription() {
        return "Just Images";
    }
}
该过滤器为图像文件过滤器。


· SWT树节点上弹出菜单的实现 (02-05)
·基于 JSF+Spring + JPA 构建敏捷的Web(02-01)
·在SWING 的 JFileChooser中俘获返回的(01-20)
·SWT中设置TableViewer和TreeViewer为双(01-19)
·Spring之特殊字符转义和方法入参检测工(01-16)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·SWT中的FormLayout (01-10)
·Spring基础(01-10)
·Spring 让 LOB 数据操作简单化 (12-26)
·Swing中使用Html标签 (12-26)
·Swing中使用Html标签 (12-26)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处