Java-Swing

Java Swing學習:文件選擇框java

Java爲文件選擇框提供了JFileChooser類API。經過使用該類,能夠很方便的現實文件選擇對話框。見下例:app

//創建文件選擇框對象 JFileChooser fc=new JFileChooser(); //設定文件選擇框標題 fc.setDialogTitle("Open class File"); //顯示文件選擇框,在選擇後將結果儲存到returnVal變量中 int returnVal = fc.showOpenDialog(app.getFrameInstance()); //若是用戶選擇了文件,並點擊了"Opne/打開"按鈕,顯示用戶選擇的文件全名路徑, //若是用戶點擊"Close/關閉"按鈕,以及其它方式退出文件選擇框,則什麼也不作。   if (returnVal == JFileChooser.APPROVE_OPTION){    File file = fc.getSelectedFile();    System.out.println(file.getPath());   }學習

注意在文件選擇對話框中,能夠進行選擇目錄的操做,只須要用FileChooser對象的setFileSelectionMode()方法指定其選擇模式爲目錄選擇。見下面代碼spa

//上例中能夠在文件對話框顯示語句前加上下面代碼,使對話框成爲目錄選擇對話框 fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);對象

文件選擇過程當中,咱們能夠爲文件選擇對話框設置過濾器,有了過濾器的對話框,會用下拉列表的方式將過濾的文件名特徵顯示在"文件類型"組合框中,並將不符合條件的文件名和目錄名過濾掉(不顯示)。ip

爲一個文件選擇對話框設置過濾器須要定義過濾器類,見下例:get

public class ClassFileFilter extends FileFilter{  public boolean accept(File f) {   String filename = f.getName();         return filename.endsWith(".class");  }  public String getDescription() {   return "*.class";  } }it

該類定義了一個過濾Java類文件"*.class"的過濾器。 將它增長到文件選擇對話框中,能夠過濾出以.class爲尾綴的文件。見下面代碼:io

fc.addChoosableFileFilter(new ClassFileFilter());class

針對一個對話框,咱們能夠爲其加裝多個過濾器。這裏有對過濾器更加詮釋的代碼: public class ImageFilter extends FileFilter {     //Accept all directories and all gif, jpg, tiff, or png files.     public boolean accept(File f) {         if (f.isDirectory()) {             return true;         }         String extension = Utils.getExtension(f);         if (extension != null) {             if (extension.equals(Utils.tiff) ||                 extension.equals(Utils.tif) ||                 extension.equals(Utils.gif) ||                 extension.equals(Utils.jpeg) ||                 extension.equals(Utils.jpg) ||                 extension.equals(Utils.png)) {                     return true;             } else {                 return false;             }         }         return false;     }     public String getDescription() {         return "Just Images";     } } 該過濾器爲圖像文件過濾器。

相關文章
相關標籤/搜索