java中实现选择文件_Java 实现文件选择对话框及功能
時間:2018-10-02
概述:文件選擇器
Java實現文件選擇器,就是大家熟悉的打開文件、選擇文件的對話框,本例子分為兩部分來進行,一個部分是選擇器對話框構建部分,另一部分是文件過濾部分,用于過濾用戶指定選擇的文件類型,對話框樣式如下圖所示:
下面分部分來編寫代碼:
第一部分:文件選擇器部分,含窗口代碼:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
//文件選擇器演示
public class JFileChooserDemo extends JFrame {
private JFileChooser chooser; //文件選擇器
private JButton button; //選擇文件按鈕
private JComboBox comboBox; //用于設定文件對話框作用(打開還是保存文件)
public JFileChooserDemo() {
super("JFileChooser 演示"); //調用父類構造函數
Container contentPane = getContentPane(); //得到容器
contentPane.setLayout(new FlowLayout()); //設置布局管理器為Flowlayout
chooser=new JFileChooser(); //初始化文件選擇器
button = new JButton("選擇文件"); //初始化按鈕
comboBox=new JComboBox(); //初始化組合框
comboBox.addItem("打開"); //增加組合框列表內容
comboBox.addItem("保存");
contentPane.add(comboBox); //增加組件到容器
contentPane.add(button);
button.addActionListener(new ActionListener() { //按鈕事件處理
public void actionPerformed(ActionEvent e) {
int state; //文件選擇器返回狀態
chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter()); //移去所有文件過濾器
chooser.addChoosableFileFilter(new MyFileFilter("gif","圖像文件")); //增加文件過濾器,接愛gif文件
if (comboBox.getSelectedIndex()==0) //組合框為"打開"
state=chooser.showOpenDialog(null); //顯示打開文件對話框
else
state=chooser.showSaveDialog(null); //顯示保存文件對話框
File file = chooser.getSelectedFile(); //得到選擇的文件
if(file != null && state == JFileChooser.APPROVE_OPTION) { //選擇了文件并點擊了打開可保存按鈕
JOptionPane.showMessageDialog(null, file.getPath()); //顯示提示信息
}
else if(state == JFileChooser.CANCEL_OPTION) { //點擊了撤銷按鈕
JOptionPane.showMessageDialog(null, "退出!"); //顯示提示信息
}
else if(state == JFileChooser.ERROR_OPTION) {
JOptionPane.showMessageDialog(null, "錯誤!"); //顯示提示信息
}
}
});
this.setSize(200,100); //設置窗口大小
this.setVisible(true); //設置窗口可見
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關閉窗口時退出程序
}
public static void main(String args[]) {
new JFileChooserDemo();
}
}
第二部分,文件過濾器,比如只允許打開.doc類型的文件,就可以使用本過濾器過濾掉其它的文件類型:
import java.io.File;
import javax.swing.filechooser.FileFilter;
//文件過濾器
//Download by http://www.srcfans.com
public class MyFileFilter extends FileFilter {
String ends; //文件后綴
String description; //文件描述文字
public MyFileFilter(String ends, String description) { //構造函數
this.ends = ends; //設置文件后綴
this.description=description; //設置文件描述文字
}
public boolean accept(File file) { //重載FileFilter中的accept方法
if (file.isDirectory()) //如果是目錄,則返回true
return true;
String fileName = file.getName(); //得到文件名稱
if (fileName.toUpperCase().endsWith(ends.toUpperCase())) //把文件后綴與可接受后綴轉成大寫后比較
return true;
else
return false;
}
public String getDescription() { //返回文件描述文字
return description;
}
}
總結
以上是生活随笔為你收集整理的java中实现选择文件_Java 实现文件选择对话框及功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring中启用Hibernate二级
- 下一篇: canvas java 上传截图_在Vu