Java文件選擇JFileChooser使用例子

JFileChooser類的使用很是簡單,主要是對一些屬性的設置,以及文件篩選器的使用。

[java]java

  1. import javax.swing.JFileChooser;  web

  2.   

  3. public class FileChooser {  this

  4.     public static void main(String[] args)  spa

  5.     {  orm

  6.         JFileChooser fc = new JFileChooser("D:");  ip

  7.         //是否可多選   get

  8.         fc.setMultiSelectionEnabled(false);  string

  9.         //選擇模式,可選擇文件和文件夾   it

  10.         fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);  io

  11. //      fc.setFileSelectionMode(JFileChooser.FILES_ONLY);   

  12. //      fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);   

  13.         //設置是否顯示隱藏文件   

  14.         fc.setFileHidingEnabled(true);  

  15.         fc.setAcceptAllFileFilterUsed(false);  

  16.         //設置文件篩選器   

  17.         fc.setFileFilter(new MyFilter("java"));  

  18.         fc.setFileFilter(new MyFilter("zip"));  

  19.           

  20.         int returnValue = fc.showOpenDialog(null);  

  21.         if (returnValue == JFileChooser.APPROVE_OPTION)  

  22.         {  

  23.             //fc.getSelectedFile()   

  24.             //fc.getSelectedFiles()   

  25.         }  

  26.     }  

  27. }  

[java]

  1. import java.io.File;  

  2. import javax.swing.filechooser.FileFilter;  

  3.   

  4. public class MyFilter extends FileFilter  

  5. {  

  6.       

  7.     private String ext;  

  8.       

  9.     public MyFilter(String extString)  

  10.     {  

  11.         this.ext = extString;  

  12.     }  

  13.     public boolean accept(File f) {  

  14.         if (f.isDirectory()) {  

  15.             return true;  

  16.         }  

  17.   

  18.         String extension = getExtension(f);  

  19.         if (extension.toLowerCase().equals(this.ext.toLowerCase()))  

  20.         {  

  21.             return true;  

  22.         }  

  23.         return false;  

  24.     }  

  25.   

  26.   

  27.     public String getDescription() {  

  28.         return this.ext.toUpperCase();  

  29.     }  

  30.   

  31.     private String getExtension(File f) {  

  32.         String name = f.getName();  

  33.         int index = name.lastIndexOf('.');  

  34.   

  35.         if (index == -1)  

  36.         {  

  37.             return "";  

  38.         }  

  39.         else  

  40.         {  

  41.             return name.substring(index + 1).toLowerCase();  

  42.         }  

  43.     }  

  44. }  

相關文章
相關標籤/搜索