JFileChooserで選択できるファイルにフィルターをかけることができるそうです。javax.swing.filechooser.FileFilterから継承したクラスを作っておいて、それをaddChoosableFileFilterメソッドに引き渡せばよいそうです。
FileFilterの実装は自分でしないといけないのですが、大抵の場合は拡張子で判定したいだけなので

 new FileFilterExt(String ext[], String desc)

みたいな感じなものを作っておくと便利だと思います。
あと、配列を確保してすぐ引数に渡す時、foo(new String[]{"one", "two"});みたいに書けるのを試行錯誤して発見しました・・・。(真面目にマニュアルを読んでないので知らなかった)

 import java.io.File;
 import java.lang.*;
 import java.util.*;
 
 public class FileFilterExt extends javax.swing.filechooser.FileFilter{
    private final String _desc;
    private final String[] _ext;
    
    public FileFilterExt(String[] extension, String description) {
        HashSet extset = new HashSet();
        for(int i=0; i<extension.length; i++){
            extset.add(extension[i].toLowerCase());
        }
        
        _ext = (String[])extset.toArray(new String[0]);
        _desc = description;
        
    }
    
    
    public boolean accept(java.io.File f) {
        if(f.isDirectory()){ return true; }
        
        String extension = getExtension(f);
        for(int i=0; i<_ext.length; i++){
            if( _ext[i].equals(extension) ){ return true; }
        }
        return false;
    }
    
    
    public String getDescription() {
        return _desc;
    }
    
    
    private String getExtension( File file ) {
        if(file == null) return null;
        String filename = file.getName();
        int i = filename.lastIndexOf('.');
        try {
            return filename.substring(i+1).toLowerCase();
        } catch(Exception e) {
            return null;
        }
    }
 }



----
[[CategoryJava]]

|New|Edit|Diff|History|Attach|Copy|Rename|
HTML convert time: 0.002 sec.