文件选择器,用于当需要一个文件时,按照这个文件所在的路径,一层层选择,直至找到目标文件,或者在需要保存一个文件时,选择,要保存到的路径。

swing中使用的 JFileChooser类 来实现的文件选择器

几个常用构造方法:

构造方法

说明

JFileChooser()

创建一个指向用户默认目录的 JFileChooser。

JFileChooser(File currentDirectory)

使用指定 File 作为路径来创建 JFileChooser。

JFileChooser(String currentDirectoryPath)

创建一个使用指定路径的 JFileChooser。

JFileChooser(String currentDirectoryPath, FileSystemView fsv)

使用指定的当前目录路径和 FileSystem View 构造一个 JFileChooser。

常用方法:

方法名称

说明

int showOpenDialog(Component parent)

弹出打开文件对话框。

int showSaveDialog(Component parent)

弹出保存文件对话框。

接下来最简单的实现一下JFileChooser类的使用

import javax.swing.JFileChooser;  //用来创建文件选择器
import javax.swing.JPanel; //中间容器 (嵌板)最常用的面板
import javax.swing.JButton;  //按钮,以单击按钮的响应来打开文件选择器
import java.awt.event.ActionEvent;   //响应按钮的动作事件类
import java.awt.event.ActionListener;
import javax.swing.JFrame;   //顶层容器 (框架)

public class text_JFileChooser
{
	public static void main(String[] args) 
	{
		JFrame jframe = new JFrame("文件选择器");   //窗口
		JPanel jpanel1 = new JPanel();           //一个面板
		JButton jbutton1 = new JButton("游览");  //按钮,单击响应事件,打开文件选择器
		JFileChooser jfilechooser1 = new JFileChooser("F:\\"); //文件选择器,设置初始路径为"F:\\"
		
		class myactionlistener implements ActionListener  //创建动作监听者者
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
		//		int a = jfilechooser1.showOpenDialog(null); //选择文件,选择路径
				int a = jfilechooser1.showSaveDialog(null);  //保存文件,指定路径
				if(a == jfilechooser1.APPROVE_OPTION){}
				//这个语句在这段代码中无意义,在运行结果后面会有解释
			}
		}
		//添加		
		jbutton1.addActionListener(new myactionlistener());
		jpanel1.add(jbutton1);   //面板添加按钮
		jframe.add(jpanel1);    //窗口添加面板
		
		jframe.setBounds(400, 300, 400, 300);  //设置窗口大小
		jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jframe.setVisible(true);
	}
}

运行结果如下:

javafx FileChooser 仅能选择目录 java 文件选择_选择器


对上面部分代码语句的解释:

int a = jfilechooser1.showSaveDialog(null);
if(a == jfilechooser1.APPROVE_OPTION){}

上面的指定路径的方法会返还一个整型值,一般在调用后会设置一个变量接收用于做出判断,就像下面的 if 语句, 里面的 APPROVE_OPTION是一个常量,表示正常选区文件,上面的方法可能返回的常量有三个:

常量

表示

CANCEL—OPTION

表示单击“取消”按钮退出对话框

APPROVE_OPTION

表示无文件选取或正常选取文件

ERROR_OPTION

表示发生错误或对话框已被解除而退出对话框

因此在文本选择器交互结束后,应进行判断是否从对话框中选择了文件,然后根据返回值情况进行处理(只是我的if语句没有处理,实际上是要判断处理的)。