?? examplefilefilter.java
字號:
package RTPTransmit;import java.io.File;import java.util.Hashtable;import java.util.Enumeration;import javax.swing.filechooser.*;// FileFilter是一個抽象類,因此構造ExampleFileFilter類來實現它// 該類和JFileChooser類結合使用可以在打開文件時只顯示那些符合條件的文件public class ExampleFileFilter extends FileFilter { private Hashtable filters = null; private String description = null; private String fullDescription = null; //構造函數 public ExampleFileFilter() { this.filters = new Hashtable(); } // 為文件過濾器填加文件擴展名(在擴展名前不需要加“.”) public void addExtension(String extension) { if(filters == null) { filters = new Hashtable(); // 構造一個哈希表 } filters.put(extension.toLowerCase(), this); // 向哈希表中增加一個鍵值對 fullDescription = null; } // 設置文件過濾器的一般性描述 public void setDescription(String description) { this.description = description; fullDescription = null; } // 得到文件的擴展名 public String getExtension(File f) { if(f != null) { String filename = f.getName(); int i = filename.lastIndexOf('.'); // 得到文件名中“.”的位置 if(i > 0 && i < filename.length() - 1) { return filename.substring(i+1).toLowerCase(); // 取“.”之后的子字符串,即為擴展名 } } return null; } /********************************************************** * 以下兩個函數實現了 FileFilter 類的兩個抽象函數 **********************************************************/ // 判斷一個文件是否應被接受(true : 接受 , false : 不接受) public boolean accept(File f) { if(f != null) { if(f.isDirectory()) { // 目錄應接受 return true; } String extension = getExtension(f); if(extension != null && filters.get(getExtension(f)) != null) { // 擴展名符合設定范圍的文件應接受 return true; }; } return false; } // 得到文件過濾器的完整描述(包括一般性描述和擴展名) public String getDescription() { if(fullDescription == null) { fullDescription = (description == null) ? "(" : (description + " ("); Enumeration extensions = filters.keys(); // 得到哈希表的全部鍵(擴展名) if(extensions != null) { fullDescription += "*." + (String) extensions.nextElement(); // 加上第一個擴展名 while (extensions.hasMoreElements()) { // 加上后面的擴展名 fullDescription += ", *." + (String) extensions.nextElement(); } } fullDescription += ")"; } return fullDescription; }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -