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. 2016.8.16 JQuery学习记录

    1.$(document).ready(function(){}); 这个函数会在浏览器加载完页面之后,尽快执行: 2.所有的JQuery函数用有个$开始表示,All jQuery functions ...

  2. DuckHunter Attacks

    DuckHunter Attacks   DuckHunter Attacks是从USB Rubber Ducky (USB橡皮鸭)发展过来的HID攻击方式.USB Rubber Ducky是从201 ...

  3. 字体和壁纸合并后再更改壁纸--《用delphi开发共享软件》-15.2桌面提示器

    procedure TFrmPlay.mnDeskPicClick(Sender: TObject); Var s:String; i:Integer; begin //s:=Path+'SetPic ...

  4. 关于sharedPreferences的使用

    在登录中,android 为什么能够保存上次的登录信息,就是使用了sharedPrerences进行获取和存储 比如记录了之前登录过的用户名.登录时间.登录详情等等

  5. c#如何使用正则表达式ZZ

    什么是正则表达式      正则表达式是用来检验和操作字符串的强大工具.简单的理解正则表达式可以认为是一种特殊的验证字符串.正则表达式常见运用是验证用户输入信息格式,比如上面的那组"\w{1 ...

  6. iOS中为网站添加图标到主屏幕

    1 <link rel="apple-touch-icon-precomposed" href="icon.png"/> 2 <link re ...

  7. 经验分享:多屏复杂动画CSS技巧三则

    当下CSS3应用已经相当广泛,其中重要成员之一就是CSS3动画.并且,随着CSS动画的逐渐深入与普及,更复杂与细腻的动画场景也如雨后春笋般破土而出.例如上个月做的「企业QQ-新年祝福」活动: 感谢sh ...

  8. CentOS6.4 增加一个SFTP上传的用户

    #创建sftp组 groupadd sftp #创建一个用户dsideal useradd -g sftp -s /bin/false dsideal #设置dsideal用户的密码 passwd d ...

  9. topcoder SRM 624 DIV2 CostOfDancing

    排个序,求前k个元素和即可 int minimum(int K, vector <int> danceCost) { sort(danceCost.begin(),danceCost.en ...

  10. 【BZOJ】2333: [SCOI2011]棘手的操作

    http://www.lydsy.com/JudgeOnline/problem.php?id=2333 题意: 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i], ...