JFileChooser

1、基本用法
JFileChooser dlg = new JFileChooser();
dlg.setDialogTitle("Open
JPEG file");
int result = dlg.showOpenDialog(this); // 打开"打开文件"对话框
// int
result = dlg.showSaveDialog(this); // 打"开保存文件"对话框
if (result ==
JFileChooser.APPROVE_OPTION) {
File file =
dlg.getSelectedFile();
...
}

2、自定义FileFilter

JDK没有提供默认的文件过滤器,但提供了过滤器的抽象超类,我们可以继承它。

import javax.swing.filechooser.FileFilter;

public final class PictureFileFilter extends FileFilter {

private String extension;

private String description;

public PictureFileFilter(String extension, String description)
{
super();
this.extension = extension;
this.description =
description;
}

public boolean accept(File f) {
if (f != null) {
if (f.isDirectory())
{
return true;
}
String extension = getExtension(f);
if (extension
!= null && extension.equalsIgnoreCase(this.extension)) {
return
true;
}
}
return false;
}

public String getDescription() {
return description;
}

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;
}

}

其实主要就是accept(File
f)函数。上例中只有一个过滤器,多个过滤器可参考JDK目录中“demo\jfc\FileChooserDemo\src”中的“ExampleFileFilter.java”

3、多选

在基本用法中,设置

c.setMultiSelectionEnabled(true);

即可实现文件的多选。

读取选择的文件时需使用

File[] files = c.getSelectedFiles();

4、选择目录

利用这个打开对话框,不仅可以选择文件,还可以选择目录。

其实,对话框有一个FileSelectionMode属性,其默认值为“JFileChooser.FILES_ONLY”,只需要将其修改为“JFileChooser.DIRECTORIES_ONLY”即可。

JFileChooser c = new
JFileChooser();
c.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
c.setDialogTitle("Select
path to save");
int result = c.showOpenDialog(PrintDatetime.this);
if
(result == JFileChooser.APPROVE_OPTION) {
String path =
c.getSelectedFile().getAbsolutePath());
...
}

JFileChooser,布布扣,bubuko.com

时间: 2024-10-10 09:02:00

JFileChooser的相关文章

JFileChooser (Java Swing提供的文件选择对话框)

JFileChooser() 构造一个指向用户默认目录的 JFileChooser. JFileChooser(File currentDirectory) 使用给定的 File 作为路径来构造一个 JFileChooser. setFileSelectionMode(int mode) 设置 JFileChooser,以允许用户只选择文件.只选择目录,或者可选择文件和目录. mode参数:FILES_AND_DIRECTORIES   指示显示文件和目录. FILES_ONLY        

修改JFileChooser对话框风格,设置打开对话框的默认文件名,获取改变路径之后的文件保存路径

Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢? 一. 生成对象的原始模式 假定我们把猫看成一个对象,它有"名字"和"颜色"两个属性. var C

第12章-Swing编程 --- 使用JFileChooser和Java7增强的JColorChooser

JColorChooser用于创建颜色选择器对话框,该类的用法非常简单,该类主要提供了如下两个静态方法: -->showDialog(Component component,String title,Color initialColor):显示一个模式的颜色选择器对话框,该方法返回用户所选的颜色.其中component指定该对话框的parent组件,而title指定该对话框的标题. -->createDialog(Component c,String title,boolean modal,J

实现JFileChooser的多种文件类型限制(设置过滤器)

使用时直接调用方法. 1 // 多类型时使用 2 public void FileFilter(JFileChooser F) { 3 String[][] fileNames = { { ".java", "JAVA源程序 文件(*.java)" }, 4 { ".doc", "MS-Word 2003 文件(*.doc)" }, 5 { ".xls", "MS-Excel 2003 文件(*.

使用Profile文件记录JFileChooser(或者File控件)最新打开的文件路径

一.描述 我们使用JFileChooser或者File控件打开Windows系统目录下的文件之后,如何保存我们最近打开的文件路径,使得每次打开文件就能打开最近一次打开的文件目录,而不是每次默认打开C:\Users\Administrator\Documents目录.我们需要使用Profile属性文件来记录最近打开的文件路径,在File控件打开文件前先读取配置文件中的最近文件目录,在打开文件后将路径保存到Profile文件中,在操作完毕点击确定按钮后写入Profile配置文件. 二.源代码 imp

java的JFileChooser上传一个Excel文件并读取该文件的内容

一.描述 无论是jsp中还是swing中的上传文件组件都可能上传一个Excel文件并且按行读取文件的记录,读取记录后可以提供数据的显示功能,也可以构造sql语句进行数据库中数据的查询等. 例如我们上传一份用户名单,其中包括用户姓名,性别和身份证号,我们将用户真实姓名加上身份证后四位作为用户账号查询数据库中是否有该用户信息,上传的表格如下: 二.所需工具 java要调用Excel并且读取Excel文件中的数据,就必须使用jxl.jar札包,所以先获取该札包然后引入到java项目中. 该札包的免费下

JFileChooser记住上次选择的路径

String saveFolder = "C:\\"; Preferences pref = Preferences.userRoot().node( this.getClass().getName()); String lastPath = pref.get("lastPath", ""); JFileChooser fc = null; if (!lastPath.equals("")) { fc = new JFileC

JFileChooser 中文API

javax.swing类 JFileChooser java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JFileChooser 所有已实现的接口: ImageObserver, MenuContainer, Serializable, Accessible public class JFileChooserextends JComponentimplements Ac

Java:终于找到了在alloy中的JFileChooser中的弹出式菜单不显示文字的解决办法

alloy界面可以说是我写过的最漂亮的一种JAVA界面. 可惜不知为什么,至从几年前推出1.4版后,就再也没有更新了. 随着java版本的升级,一直很担心alloy有一天不再适用于java的最新版. 现在在java6.0上用alloy,感觉还是很不错的,就是JFileChooser对话框上点右键时,弹出的菜单上的文字都是空白的,让人感觉不舒服. 今天我终于找到了解决的办法: 我首先找到了一个对于JFileChooser来说很关键的类:sun.swing.FilePane 我不明白,为什么要把Fi