Java Swing文件选择对话框
·
一、效果图
1、弹出对话框

2、选择文件,点击保存

3、查看路径

二、主要代码
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
/**
* 测试文件选择器JFileChooser的使用,现在可以选择文件,那么怎么选择
*
* JTextPanel的作用是什么?
*
*/
class JFileChooserTest extends MouseAdapter {
JFrame jFrame = null;
JPanel jPanel = null;
JFileChooser chooser;
public JFileChooserTest() {
try {
UIManager.setLookAndFeel(new NimbusLookAndFeel());
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
// 1、定义窗口
jFrame = new JFrame("文件选择");
// 2、设置坐标,宽和高
jFrame.setBounds(500, 500, 550, 550);
// 3、设置布局管理器
jFrame.setLayout(new BorderLayout());
// 4、初始化面板
jPanel = new JPanel();
// 5、定义按钮
JButton jButton = new JButton("选择文件");
// 6、添加鼠标监听器为当前对象
jButton.addMouseListener(this);
// 7、把按钮,添加到面板jPanel对象里。
jPanel.add(jButton);
// 8、把jPanel对象添加到窗口的北方
jFrame.add(jPanel, BorderLayout.NORTH);
// 10、设置可见
jFrame.setVisible(true);
// 11、设置默认关闭行为为退出。
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// 点击一次,就创建一个文件对话框
@Override
public void mouseClicked(MouseEvent e) {
// 1、创建对象
chooser = new JFileChooser(new File("D:/Develop"));
// 2、隐藏文件是否可以
//chooser.setFileHidingEnabled(true);
// 3、是否允许多选
//chooser.setMultiSelectionEnabled(true);
// 4、添加文件过滤器
chooser.addChoosableFileFilter(new FileFilter() {
@Override
public boolean accept(File file) {
// 会对每个文件进行判断,符合要求返回true;不符合返回false;
// 判断是文件
if (file.isFile()) {
// 获得文件名
String fileName = file.getName();
// 获得扩展名
String extName = fileName.substring(fileName.lastIndexOf("."));
// 判断后缀类型;图片是jpg、png后缀格式;
if (extName.equals(".jpg")){
}
}
return true;
}
@Override
public String getDescription() {
return "过滤器描述";
}
});
// 5、设置打开类别
chooser.setDialogType(JFileChooser.OPEN_DIALOG);
// 6、设置可见
chooser.setVisible(true);
// 7、打开对话框 showOpenDialog()是打开文件,showSaveDialog()是存储文件,有两种。
int returnValue = chooser.showOpenDialog(jFrame);
if(returnValue == JFileChooser.APPROVE_OPTION){
System.out.println("确定按钮触发");
}
if (returnValue == JFileChooser.CANCEL_OPTION){
System.out.println("取消");
}
System.out.println(returnValue);
// 获得选择的文件对象
File selectedFile = chooser.getSelectedFile();
// 多选文件对象。
File[] selectedFiles = chooser.getSelectedFiles();
if(selectedFile != null) {
System.out.println("选择的文件是:" + selectedFile.getName());
System.out.println("选择的文件的路径是:" + selectedFile.getPath());
}else {
System.out.println("没有选择任何文件和目录!");
}
// 设置选择模式,有文件和目录
//file2.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );
//file2.setVisible(true);
// 设置标题
// file2.setDialogTitle("请选择文件");
// 打开对话框
// file2.showOpenDialog(frame);
}
}
public class FileSelect {
public static void main(String[] args) {
new JFileChooserTest();
JFileChooser fileChooser = new JFileChooser("目录选择");
// JFileChooser允许多选;
// fileChooser.setMultiSelectionEnabled(true);
// JFileChooser有三种内容选择模式:
// 只支持目录
// fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
// 只支持文件
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
// 同时支持文件、目录
// fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
// 有两种对话框模式:打开、存储;
// int dialog = fileChooser.showOpenDialog(null);
// 弹出保存对话框,如果点击了确定
if (JFileChooser.APPROVE_OPTION == fileChooser.showSaveDialog(null)){
System.out.println("保存路径:" + fileChooser.getSelectedFile().getPath());
};
}
}
更多推荐


所有评论(0)