`
joyo_fly
  • 浏览: 86949 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

JFileChooser

 
阅读更多

   JFileChooser用来提供一个文件对话框,可以通过其showXxxDialog打开一个模态对话框,或直接实例化并加入到其他组件。

   1、直接通过API打开对话框

   //Create a file chooser
   final JFileChooser fc = new JFileChooser();
   . ..
   //打开文件对话框
   int returnVal = fc.showOpenDialog(aComponent);

   //获取选择的文件

   File file = fc.getSelectedFile();

   //打开保存对话框

   int returnVal = fc.showSaveDialog(FileChooserDemo.this);

   注意:在程序中,使用同一个JFileChooser对象创建打开和保存对话框有以下好处:

  (1)chooser会记住当前文件夹。

  (2)只需设置chooser一次,然后多次使用。

   可以修改对话框文件选择的模式,比如只允许选择文件  夹:fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);除此以外,还有其他两个选项FILES_AND_DIRECTORIES和 FILES_ONLY。

 

   2、定制FileChooser(包括文件过滤器、文件图标、文件预览图)

   2.1 为特别任务创建FileChooser

   除打开,保存文件框以外,可能还需要其他一些特殊的文件框,使用:

   JFileChooser fc = new JFileChooser();
   int returnVal = fc.showDialog(FileChooserDemo2.this, "Attach");

   2.2 文件过滤器

   默认情况下,Chooser显示所有检测到得文件(隐藏文件除外),JFileChooser支持以下三类Filter,检查顺序依次:

   (1)Built-in filtering:直接调用Chooser上方法设置此类过滤器,比如是否显示隐藏文件,setFileHidingEnabled(false)。

   (2)Application-controlled filtering:首先自定义一个FileFilter的子类,通过调用setFileFilter方法设置该过滤器,此时对话框只显示该过滤器允许的文件,该过滤器将会出现在对话框的过滤器列表上。

   (3)User-choosable filtering:添加一些可选的过滤器,fc.addChoosableFileFilter(new ImageFilter()),

默认情况下,可选过滤器包括“显示全部文件”过滤器,如想去掉该过滤项,使用fc.setAcceptAllFileFilterUsed(false)。

   2.3 自定文件视图(File view)

   为了改变默认的文件视图,可以先自定义一个FileView子类,然后调用setFileView方法。

   2.4 自定附件组件(文件预览图)

   fc.setAccessory(new ImagePreview(fc));

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics