2011年11月22日火曜日

( Java ) フォルダダイアログとファイル名フィルタについて

    フォルダ選択ダイアログを表示し、ファイル名フィルタをかけるというもの
ここではテキストファイルのみをフィルタリングしている。ダイアログ関係で
結構頻繁に使うのでメモ。
http://www.syboos.jp/java/doc/listfiles-by-filefilter.htmlを参考)

private void folderOpenDialog(ActionEvent arg0)
{
    JFileChooser fldlg = new JFileChooser();
    fldlg.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    if(fldlg.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
    {
        File fl = fldlg.getSelectedFile();
        File[] txtFiles = fl.listFiles(getFileExtensionFilter(".txt"));

        table.setValueAt(txtFiles[0], 0, 0);//テーブルにセットしてみる。
   }       
}

private FilenameFilter getFileExtensionFilter(String extension)
{ 
    final String _extension = extension; 
    return new FilenameFilter()
    { 
        public boolean accept(File file, String name)
        { 
            boolean ret = name.endsWith(_extension);  
            return ret; 
        } 
    }; 
}  

Javaは最近Eclipseをインストールしたので触っているのだが、なかなかわかりやすく、
使いやすい。日本語のサイトも豊富なので勉強はさくさく進みそうな感じがする。