Swing文件选择器(JFileChooser)的使用

在程序开发中,我们经常会使用到文件选择器来读取本地文件或者保存文件到本地的一个目录中。Java Swing的文件选择器是JFileChooser,今天我们就来学习一下JFilechooser的使用

一、构造方法

  • 构造方法1: JFileChooser():创建一个指向用户默认目录的 JFileChooser。
    Swing文件选择器(JFileChooser)的使用_第1张图片

  • 构造方法2: JFileChooser(File currentDirectory):使用指定 File 作为路径来创建JFileChooser。
    Swing文件选择器(JFileChooser)的使用_第2张图片

  • 构造方法3: JFileChooser(String currentDirectoryPath):创建一个使用指定路径的 JFileChooser。Swing文件选择器(JFileChooser)的使用_第3张图片

二、设置文件的打开模式:(文件、文件夹、文件+文件夹)

setFileSelectionMode(int mode)

(1)JFileChooser.FILES_ONLY: 只能选文件;

(2) JFileChooser.DIRECTORIES_ONLY: 只能选文件夹;

(3)JFileChooser.FILES_AND_DIRECTORIES: 文件和文件夹都可以选。

三、设置选择模式:(单选文件或多选文件)

setMultiSelectionEnabled(boolean b)//默认是false(单选)

四、添加文件过滤选择器,也就是允许你选择的文件类型。

addChoosableFileFilter(FileFilter filter)

fc.addChoosableFileFilter(new FileFilter() {
     
			
			@Override
			public String getDescription() {
     
				return "Excel文件(*.xls)";
			}
			
			@Override
			public boolean accept(File f) {
     
				if(f.getName().toLowerCase().endsWith(".xls")) {
     
					return true;
				}
				return false;
			}
		});

Swing文件选择器(JFileChooser)的使用_第4张图片

五、设置默认的文件过滤器

setFileFilter(FileFilter filter)

jfc.setFileFilter(new FileFilter() {
     
			
			@Override
			public String getDescription() {
     
				return "Excel文件(*.xls)";
			}
			
			@Override
			public boolean accept(File f) {
     
				if(f.getName().toLowerCase().endsWith(".xls")) {
     
					return true;
				}
				return false;
			}
		});

Swing文件选择器(JFileChooser)的使用_第5张图片

六、设置被选中的文件

setSelectedFile(File file)//单个文件
setSelectedFiles(File[] selectedFiles)//多个文件

七、打开文件选择器对话框

int result = showOpenDialog(Component parent):弹出一个 “Open File” 文件选择器对话框。
Swing文件选择器(JFileChooser)的使用_第6张图片

int result = showSaveDialog(Component parent):弹出一个 “Save File” 文件选择器对话框。
Swing文件选择器(JFileChooser)的使用_第7张图片

int result = jfc.showDialog(null, “选择文件”);
Swing文件选择器(JFileChooser)的使用_第8张图片
result的值有三种:

(1)JFileChooser.CANCEL_OPTION: 点击了取消或关闭 ;

(2) JFileChooser.APPROVE_OPTION: 点击了确认或保存 ;

(3)JFileChooser.ERROR_OPTION: 出现错误。

你可能感兴趣的:(#,Swing,java,swing)