今天突然想到開啟對話方塊中的檔案過濾是如何?,查了下資料,發現比較簡單的就
能實現。
下面是核心代碼:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser=new JFileChooser();
chooser.setCurrentDirectory(new File("."));
final List list=new ArrayList();
list.add("jpg");
list.add("png");
list.add("png");
chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
@Override
public boolean accept(File f) {
if(f.isDirectory())return true;
String name=f.getName();
int p=name.lastIndexOf('.');
if(p==-1)return false;
String suffix=name.substring(p+1).toLowerCase();
return list.contains(suffix);
}
@Override
public String getDescription() {
return "image files";
}
});
int r=chooser.showOpenDialog(this);
if(r!=JFileChooser.APPROVE_OPTION)return;
}
當然這段代碼唯一實現的就是過濾功能。裡面用了一個FileFilter匿名類實現檔案的過濾。
其中裡面的兩個方法如accept都是覆蓋了父類的操作方法。accept返回一個布爾值,判斷檔案是否
符合你的要求,符合返回真,否這返回假。這是一個回呼函數,參數File f,就是被傳進去的檔案,然後
再按你的邏輯進行過濾。
這段代碼過濾出檔案夾,尾碼名為png,jpg,gif的檔案
——————————————————————————————
新網站上線 歡迎大家
網站交易中心 在這裡你可以購買或者出售你的網站。
網站資訊發布中心 在這裡有各種交易資訊的發布。同時提供
一些軟體的免費使用(附有源碼)。
網站部落格系統 這裡你可以註冊自己的部落格。一個賬戶無限量部落格
連絡方式:
support@websiteempire.cn
QQ:563828566
MSN:zhuhailin123@hotmail.com