`

java swing 中的FileDialog

阅读更多

1.FileDialog使用方法:

 FileDialog fd=new FileDialog(new Frame(),"测试",FileDialog.LOAD);
 FilenameFilter ff=new FilenameFilter(){
   public boolean accept(File dir, String name) {
    if (name.endsWith("jpg")){
     return true;
    }
    return false;
   }
  };
  fd.setFilenameFilter(ff);
 fd.setVisible(true);
 System.out.println(fd.getDirectory()+fd.getFile());

但在Windows中FileDialog + FilenameFilter无法正常工作, jdoc的原注释为:Filename filters do not function in Sun's reference implementation for Microsoft Windows.

2.FileDialog + FilenameFilter可以用JFileChooser + javax.swing.filechooser.FileFilter 来代替,jdoc中的例子如下:

    JFileChooser chooser = new JFileChooser();
    // Note: source for ExampleFileFilter can be found in FileChooserDemo,
    // under the demo/jfc directory in the Java 2 SDK, Standard Edition.
    ExampleFileFilter filter = new ExampleFileFilter();
    filter.addExtension("jpg");
    filter.addExtension("gif");
    filter.setDescription("JPG & GIF Images");
    chooser.setFileFilter(filter);
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       System.out.println("You chose to open this file: " +
            chooser.getSelectedFile().getName());
    }

转应用实例:
    JFileChooser filechooser = new JFileChooser();//创建文件选择器
    filechooser.setCurrentDirectory(new File("."));//设置当前目录
    filechooser.setAcceptAllFileFilterUsed(false);
    //显示所有文件
    filechooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() {
      public boolean accept(File f) {
        return true;
      }
      public String getDescription() {
        return "所有文件(*.*)";
      }
    });
    //显示JAVA源文件
    filechooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
      public boolean accept(File f) { //设定可用的文件的后缀名
        if(f.getName().endsWith(".java")||f.isDirectory()){
          return true;
        }
        return false;
      }
      public String getDescription() {
        return "JAVA源程序(*.java)";
      }
    });
    //可以反复使用setFileFilter方法设置JFileChooser的选择类型

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yuvmen/archive/2007/11/08/1874039.aspx

分享到:
评论
2 楼 Season_Wang 2013-12-27  
赞一个呀,挺实用的
1 楼 longdan0126 2009-11-06  

回个帖真不容易啊
感谢提供啊
找了很久了

相关推荐

    XFileDialog:用于 JavaSwing 应用程序的本机 Windows 文件对话框

    用于 Java/Swing 的本机 Windows 文件对话框作者: 变更日志 修复了 Windows XP 64 位下文件夹对话框中的错误。 XFileDialog 的小程序部署得到改进。 XFileDialog 界面略有改变。 仅为 Save FileDialog 提供了...

    各ui框架下的Java浏览器(包含swt的浏览器,javafx的浏览器,swing的浏览器),支持Flash

    Java自制浏览器,支持Flash,各个版本的ui框架都有,具备所有IE内核具备的功能,拓展功能比如F5,比如前进后退,比如查看源代码,键盘...里面包含javafx的,swing的,swt三个版本的java浏览器,功能强大,供大家对比

    java 电子词典

    FileDialog filedialog_save; // 声明文件对话框 JTextField englishtext; JTextArea chinesetext; JButton b1, b2, b3, b4, b5; JLabel label; JMenuBar mbar; JMenu mfile, medit, mhelp; JMenuItem edic,...

    java程序编写的记事本

    FileDialog fileDialog; String fileName=null;//当前打开的文件的名称 String title="error"; int type=JOptionPane.ERROR_MESSAGE; PrinterJob pjob=PrinterJob.getPrinterJob(); PageFormat pf=pjob....

    课程设计----基于于JAVA的记事本编辑器的设计与实现.doc

    要求掌握以下内容: " "面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 " "类、包、接口的定义与使用 " "常用工具类与算法的实现(数组、向量、字符串、链表) " "java.awt、javax.swing中常用...

    java编程基础,应用与实例

    16.5.2 文件对话框(FileDialog) 266 16.5.3 滚动面板(ScrollPane) 269 16.6 菜单(Menu)组件 272 16.7 巩固练习 276 第17章 AWT事件处理 278 17.1 委托事件模型 278 17.2 动作事件(ActionEvent)及其...

    java文件加密解密课程设计.doc

    可以扩展Frame的功能并且可以实例" "化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理" "的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴" "趣的类可以...

    TextEditorJava:Java中的基本文本编辑器

    文本编辑器使用Swing框架的Java基本文本编辑器添加到编辑器中的组件列表: “打开”框:为您提供文件打开器UI。 一个“清除”框,用于清除text_area中的所有文本。 代表当前打开的文档名称的块。 一个“保存”块,将...

    Java典型模块

    1.3.2 在MyEclipse 8.5中创建、运行、调试和管理Java项目 1.4 小结 第2章 Java面向对象编程 2.1 面向对象的一些概念 2.1.1 面向对象涉及的概念 2.1.2 类和对象 2.2 面向对象的一些特性 2.2.1 继承特性 2.2.2 多态...

    java文件对话框Demo

    一个简单的文本编辑器,分别用awt和swing演示打开和保存文件对话框

    JAVA局域网广播系统的设计与实现(课程设计).rar

    import javax.swing.Timer; public class BroadCastWord extends Frame implements ActionListener { int port; InetAddress group=null; MulticastSocket socket=null; Timer time=null; FileDialog ...

    Eclipse_Swt_Jface_核心应用_部分19

    第1章 Java语言的GUI历史 2 1.1 最初的AWT 2 1.2 Swing工具包 3 1.3 Eclipse的诞生 3 1.4 Eclipse贡献SWT工具包 5 1.4.1 SWT的结构 6 1.4.2 SWT所支持的操作系统 6 1.5 Sun AWT/Swing与Eclipse SWT 7 ...

Global site tag (gtag.js) - Google Analytics