ユーザインタフェース 17章 選択コンポーネント
17.3. javax.swing.filechooser.FileFilter
特定の拡張子を持つファイルのみを表示させる等、ダイアログにフィルタを設定する事ができます。それには「javax.swing.filechooser.FileFilter」を拡張したクラスを作成します。以下のサンプルは名前が10文字以上のファイル・ディレクトリのみを表示するフィルタです。
class FileLengthFilter extends FileFilter{ public boolean accept(File f){ String name=f.getName(); if(name.length()>=10) return(true); else return(false); } public String getDescription(){ return "filter"; } }
「accept」メソッドは該当するファイルを表示するかどうか決定するメソッドです。表示する場合は「true」を、表示しない場合は「false」を返します。「getDescription」メソッドはフィルタの名前を返すメソッドで、ダイアログでフィルタの選択を行う際に表示されます。
作成したフィルタを「JFileChooser」に設定するには「addChoosableFileFilter」メソッドを使用します。
(実習課題3)
実習課題2のプログラムを改良しなさい。
- 拡張子が「java」のファイル以外は表示しないフィルタを追加する事。