如何将FileFilter与JFileChooser一起使用

时间:2014-05-13 10:27:40

标签: java swing jfilechooser

我想使用jFileChooser仅将图像和pdf导入我的应用程序。 我尝试使用FileFilter来过滤文件类型。但它没有用。任何人都可以给我一些示例代码。

1 个答案:

答案 0 :(得分:0)

您可以将FileFilter与FileNameExtensionFilter一起使用。 这是一个示例代码。

JFileChooser chooser = new JFileChooser(".");


   FileFilter type1 = new FileNameExtensionFilter("Images", "jpg", "png", "JPG", "PNG");
   FileFilter type2 = new FileNameExtensionFilter("PDF Documents", "pdf");
   FileFilter type3 = new FileNameExtensionFilter("All Files", ".");


   chooser.addChoosableFileFilter(type1);
   chooser.addChoosableFileFilter(type2);
   chooser.addChoosableFileFilter(type3);

   chooser.setFileFilter(type1); // Initial filter setting
   chooser.setFileFilter(type2);
   chooser.setFileFilter(type3);

   chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
   chooser.setAcceptAllFileFilterUsed(false);

   int status = chooser.showOpenDialog(this);
   if (status == JFileChooser.APPROVE_OPTION) {
       File f = chooser.getSelectedFile();
       lblFileName.setText(f.toString());
       if (chooser.getFileFilter() == type1) {
           //you can add code for file type 1
       } else if (chooser.getFileFilter() == type2) {
           //you can add code for file type 2
       }
   }