文件选择器import
javax.swing.filechooser类
1.创建步骤
1.1创建JFileChooser对象
1.2设置选择模式—setFileSelectionMode(int mode)
方法 | 说明 |
---|---|
JFileChooser.FILES_ONLY | 只选择文件 |
JFileChooser.DIRECTORIES_ONLY | 只选择文件夹 |
JFileChooser.FILES_AND_DIRECTORIES | 只选择文件和文件夹 |
1.3设置单选文件或者多选文件
1.4显示对话框—showOpenDialog
2.过滤文件
abstract class FileFilter类----中的FileNameExtensionFilter类
语法
FileNameExtensionFilter(String description,String…extensions)----(文件类型描述信息,文件类型)
FileFilter filter = new FileNameExtensionFilter("图片","jpg","png","gif");
fileChooser.setFileFilter(filter);//添加文件过滤器
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
//文件选择器
public class JFileChooser_ps extends JFrame{
public static void main(String[] args) {
JFileChooser_ps frame = new JFileChooser_ps();
frame.setVisible(true);
}
public JFileChooser_ps() {
super();
setTitle("文件选择对话框");
setBounds(100,100,500,150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();//获取窗体容器
final JPanel panel = new JPanel();
c.add(panel,BorderLayout.NORTH);
final JLabel label = new JLabel();
label.setText("文件:");
panel.add(label);
JTextField textField = new JTextField();
textField.setColumns(20);
panel.add(textField);
final JButton but = new JButton();
but.setText("上传");
panel.add(but);
but.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
FileFilter filter = new FileNameExtensionFilter("图片","jpg","png","gif");
fileChooser.setFileFilter(filter);//添加文件过滤器
int i = fileChooser.showOpenDialog(c);//在窗体的容器中弹出文件选择器--返回的是一个int值
if(i==JFileChooser.APPROVE_OPTION) {//如果用户点击的是“打开”按钮
File f = fileChooser.getSelectedFile();//获取选中的文件对象
textField.setText(f.getAbsolutePath());//文件的绝对路径
}
}
});
}
}