1 ////////////////////////////////////////////////////////////////////////////////////////////
2 //
3 // @name JFileChooserDemo.java
4 //
5 // @discription 文件选择器演示程序
6 //
7 // @author hcm
8 //
9 // @date 2006-12
10 //
11 ////////////////////////////////////////////////////////////////////////////////////////////
12
13 import java.awt.*;
14 import java.awt.event.*;
15 import javax.swing.*;
16 import java.io.*;
17
18 //文件选择器演示
19
20 public class JFileChooserDemo extends JFrame {
21 private JFileChooser chooser; //文件选择器
22 private JButton button; //选择文件按钮
23 private JComboBox comboBox; //用于设定文件对话框作用(打开还是保存文件)
24
25 public JFileChooserDemo() {
26 super("JFileChooser 演示"); //调用父类构造函数
27 Container contentPane = getContentPane(); //得到容器
28 contentPane.setLayout(new FlowLayout()); //设置布局管理器为Flowlayout
29 chooser=new JFileChooser(); //初始化文件选择器
30 button = new JButton("选择文件"); //初始化按钮
31 comboBox=new JComboBox(); //初始化组合框
32 comboBox.addItem("打开"); //增加组合框列表内容
33 comboBox.addItem("保存");
34 contentPane.add(comboBox); //增加组件到容器
35 contentPane.add(button);
36
37 button.addActionListener(new ActionListener() { //按钮事件处理
38 public void actionPerformed(ActionEvent e) {
39 int state; //文件选择器返回状态
40 // chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter()); //移去所有文件过滤器
41 // chooser.addChoosableFileFilter(new MyFileFilter("gif","图像文件")); //增加文件过滤器,接爱gif文件
42
43 if (comboBox.getSelectedIndex()==0) //组合框为"打开"
44
45 {
46 System.out.println("~~~~~~~~~~~~~"+0);
47 state=chooser.showOpenDialog(null); //显示打开文件对话框
48 System.out.println("zhuangtai===="+state);
49 } else {
50 System.out.println("~~~~~~~~~~~~~"+1);
51 state=chooser.showSaveDialog(null); //显示保存文件对话框
52 }
53
54 File file = chooser.getSelectedFile(); //得到选择的文件
55 if(true == ( file != null) ) {
56 System.out.println(file.toString());
57 }
58 if(file != null && state == JFileChooser.APPROVE_OPTION) { //选择了文件并点击了打开可保存按钮
59 JOptionPane.showMessageDialog(null, file.getPath()); //显示提示信息
60 } else if(state == JFileChooser.CANCEL_OPTION) { //点击了撤销按钮
61 JOptionPane.showMessageDialog(null, "退出!"); //显示提示信息
62 } else if(state == JFileChooser.ERROR_OPTION) {
63 JOptionPane.showMessageDialog(null, "错误!"); //显示提示信息
64 }
65 }
66 });
67
68 this.setSize(200,100); //设置窗口大小
69 this.setVisible(true); //设置窗口可见
70 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
71 }
72
73 public static void main(String args[]) {
74 new JFileChooserDemo();
75 }
76 }
77
再加个过滤器:
1 import java.io.File;
2 import javax.swing.filechooser.FileFilter;
3
4 //文件过滤器
5
6 public class MyFileFilter extends FileFilter
7 {
8
9 String ends; //文件后缀
10 String description; //文件描述文字
11
12 public MyFileFilter (String ends, String description)
13 { //构造函数
14 this.ends = ends; //设置文件后缀
15 this.description=description; //设置文件描述文字
16 }
17
18 public boolean accept (File file)
19 { //重载FileFilter中的accept方法
20 if (file.isDirectory ()) //如果是目录,则返回true
21 return true;
22 String fileName = file.getName (); //得到文件名称
23 if (fileName.toUpperCase ().endsWith (ends.toUpperCase ())) //把文件后缀与可接受后缀转成大写后比较
24 return true;
25 else
26 return false;
27 }
28
29 public String getDescription ()
30 { //返回文件描述文字
31 return description;
32 }
33 }
posted on 2007-02-06 16:18
-274°C 阅读(1041)
评论(0) 编辑 收藏 所属分类:
JAVA