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的选择类型

java swing 中的FileDialog的更多相关文章

  1. java swing中Timer类的学习

    最近在完成学校课程的java平时作业,要实现一个计时器,包含开始.暂停以及重置三个功能.由于老师规定要用这个timer类,也就去学习了一下,顺便记录一下. 首先呢去查了一下java手册上的东西,发现t ...

  2. Java swing中的keyListener使用事例

    最近在学习Java swing,写了一个域内聊天室,实现用户登录ip,端口号之后,进入聊天窗口聊天: 通过菜单条增加了几个功能,边框,字体,颜色和文件传输.风格里的样式都可以通过自己选择来设置. 介绍 ...

  3. Java Swing 中使用 EventQueue

    public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { ...

  4. JAVA swing中JPanel如何实现分组框的效果以及设置边框颜色 分类: Java Game 2014-08-16 12:21 198人阅读 评论(0) 收藏

    代码如下: import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GridLayout; import javax.sw ...

  5. substance在java swing中使用注意事项

    package org.dgw.uidemo; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.UI ...

  6. java swing 中JTable实现指定单元格为下拉框

    利用自定义的CellEditor实现第四列第二行为下拉框,本列其余行为文本框 利用默认的DefaultCellEditor设置第五列整列为下拉框   package mypackage; import ...

  7. Java Swing中Substance常用皮肤

    AutumnSkin; BusinessSkin; BusinessBlackSteelSkin; BusinessBlueSteelSkin; ChallengerDeepSkin; CremeSk ...

  8. Java Swing中Substance个人比较喜欢的两种组合

    try { // 设置外形装饰为可装饰 JFrame.setDefaultLookAndFeelDecorated(true); // 设置外观 UIManager.setLookAndFeel(ne ...

  9. Java swing: 实现ActionListener监听器的三种途径

    Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的 强大工具.Java Swing组件自动产生各种事件来响应用户行为.如当用户点击按钮或选择菜单项目时,Swing ...

随机推荐

  1. 关于本地存储构成数组以及jquery的inArray方法的使用

    for (var i=0, j = _self.sessionStorage.length; i < j; i++){ var key = _self.sessionStorage.key(i) ...

  2. eclipse安装genymotion的奇葩问题

    安装方法: 1:启动Eclipse 2:打开"Help/Install new software"菜单 在新开启的窗口中点击"add"按钮(位于窗口右上方) 在 ...

  3. vs 颜色设置

    工具-选项-字体和颜色:在项背景点击自定义-色调85 饱和度123 亮度205, 字体则是选择Calibri,个人认为看起来非常舒服.前景字体我选择了偏紫色,会很搭配背景浅绿色以及不会和关键字颜色搞混 ...

  4. 读取接口XML和批量导入数据SqlBulkCopy

    首先是C#处理xml文档 string urlStr = string.Format("http://……?timeBeg={0}&timeEnd={1}", timeBe ...

  5. Amazon S3云存储服务器的功能及编程接口

    http://blog.csdn.net/iamshaofa/article/details/7877785/

  6. Linux chkconfig 命令详解

    一.简介 chkconfig 命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 二.安装&启动 us ...

  7. .net平台下C#socket通信(中)

    上篇.net平台下C#socket通信(上)介绍了socket通信的基本原理及最基本的通信方式.本文在此基础上就socket通信时经常遇到的问题做一个简单总结,都是项目中的一些小问题,拿来此处便于下次 ...

  8. BZOJ3084 : [Algorithmic Engagements 2011]The Shortest Period

    枚举答案长度$L$,设$A$和$B$分别为第一个循环节和反串的第一个循环节. 1.坏点不在$A$,那么可以暴力匹配检验. 2.坏点不在$B$,那么把串翻转后不在$A$中,转化为1. 3.坏点在$A$和 ...

  9. Android GPS 取经纬度

    // 获取位置管理服务 private LocationManager locationManager;3 String mProviderName = ""; private v ...

  10. CentOS 6.4 查看每个进程的网络流量

    所需工具nethogs 安装:yum install -y nethogs 使用:nethogs eth0