用swing编写的文件选择器,查看文件。最主要熟练使用几个函数的使用。
1。JFileChooser创建文件选择对话框。用法:
-
JFileChooser(File currentDirectory)
使用给定的File
作为路径来构造一个JFileChooser
。
2。
用showOpenDialog来创建弹出一个"Open File"文件选择器对话框,并且参数可以为空或当前对象,在指定为当前对象时要记得加.this。
3。setFileSelectionMode用来设置打开的是文件还是文件夹。参数为FILES_AND_DIRECTORIES(打开为文件和文件夹),FILES_ONLY(只能打开文件)等等。
4。setMultiSelectionEnabled设置文件是否可以多选,参数为true 或 false。
5。当要过滤可选的文件类型时,用FileNameExtensionFilter函数。
6。
getSelectedFile
()返回选中的文件
package File;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.EventQueue;
importjavax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JButton;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
public class TextOpen extends JFrame{
private JPanelcontentPane;
private JFileChooser chooser;
public static void main(String[] args) {
EventQueue.invokeLater(newRunnable() {
public voidrun() {
try{
TextOpenframe = new TextOpen();
frame.setVisible(true);
}catch (Exception e) {
e.printStackTrace();
}
}
});
}
private JFileChooser chooser;
public static void main(String[] args) {
EventQueue.invokeLater(newRunnable() {
public voidrun() {
try{
TextOpenframe = new TextOpen();
frame.setVisible(true);
}catch (Exception e) {
e.printStackTrace();
}
}
});
}
public TextOpen() {
chooser = newJFileChooser();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450,300);
contentPane = newJPanel();
contentPane.setBorder(newEmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(newFlowLayout(FlowLayout.CENTER, 5, 5));
JButton btnOpenDir = newJButton("open dir");
btnOpenDir.addMouseListener(newMouseAdapter() {
@Override
public voidmouseClicked(MouseEvent e) {
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//创建文件选择器,可以打开文件和文件夹
chooser.setMultiSelectionEnabled(true);//可以使得文件多选
intvalue =chooser.showOpenDialog(TextOpen.this);//打开文件的对话框,设置为当前的窗体
if(value== JFileChooser.APPROVE_OPTION)//APPROVE_OPTION表示文件正常打开了
{
Filefile[] =chooser.getSelectedFiles();//获得选中的文件,返回数组
for(int i = 0; i < file.length; i++) {
System.out.println(file[i].getAbsolutePath());//输出绝对路径
}
}
}
});
contentPane.add(btnOpenDir);
JButton btnOpenFile = newJButton("open file");
btnOpenFile.addMouseListener(newMouseAdapter() {
@Override
public voidmouseClicked(MouseEvent e) {
FileNameExtensionFilterfilter = new FileNameExtensionFilter("Allowed File","txt","jar","doc");//过滤可以选择的文件
chooser.setFileFilter(filter);
intvalue = chooser.showOpenDialog(TextOpen.this);//打开文件的对话框
if(value== JFileChooser.APPROVE_OPTION)
{
Filefile = chooser.getSelectedFile();//获得选中的文件,输出
System.out.println(file.getAbsolutePath());//输出绝对路径
}
}
});
contentPane.add(btnOpenFile);
}
}