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 阅读(967) 评论(0)  编辑  收藏 所属分类: JAVA

只有注册用户登录后才能发表评论。


网站导航:
 

常用链接

留言簿(21)

随笔分类(265)

随笔档案(242)

相册

JAVA网站

关注的Blog

搜索

  •  

积分与排名

  • 积分 - 873155
  • 排名 - 37

最新评论