root/graph/JavaPopWeb/src/jp/ac/nime/computer/grpsimulator/FileFilterNime.java

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. FileFilterNime
  2. accept
  3. getDescription
  4. getExtension
  5. getExtension

package jp.ac.nime.computer.grpsimulator;

import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.*;

/** filechooserの為のファイル拡張子設定クラス
 */
public class FileFilterNime extends FileFilter {
        private String[] ext_;
        private String msg_;
        private int numExt_;
        /** コンストラクタ
         * @param ext 拡張子 ex '.png'
         * @param msg ファイルの説明 ex 'PNGファイル'
         */
        public FileFilterNime(String ext , String msg) {
                ext_ = new String[1];
                ext_[0] = ext;
                numExt_ = 1;
                msg_ = msg;
        }
        
        /** コンストラクタ
         * @param ext 拡張子 ex {".png", ".jpg"}
         * @param msg ファイルの説明 ex 'PNGファイル'
         */
        public FileFilterNime(String[] ext , String msg) {
                ext_ = new String[ext.length];
                for (int i = 0; i < ext.length; i ++)
                        ext_[i] = ext[i];
                numExt_ = ext.length;
                msg_ = msg;
        }
        
        
        /** Dialogのファイル一覧に表示すべきかどうかチェック
         * @param f ファイルクラス
         * @return 表示していいものなら true
         */
        public boolean accept(File f) {
                if(f != null) {
                        if(f.isDirectory()) {
                                return true;
                        }
                        boolean ret;
                   for (int i = 0; i < numExt_; i ++) {
                                ret = f.getName().endsWith(ext_[i]);
                                if (ret) return ret;
                        }
                }
                return false;
        }
        /** 説明文取得
         * @return 説明文
         */
        public String getDescription() { 
                String des = new String(msg_);
                des += " (";
                for (int i = 0; i < numExt_; i ++) {
                   des += ext_[i];
                        if (i < (numExt_ - 1)) 
                                des += ", ";
                }
                des += ")";
                return des; 
        }
        
        /** 拡張子取得(最初のみ)
         * @return 拡張子
         */
        public String getExtension() { return ext_[0]; }
        /** 拡張子取得 登録した順番を指定して拡張子を取得する
         * @return 拡張子(番号が範囲を超えたときnull)
         */
        public String getExtension(int num) {
                if (num >= numExt_) return null;
                return ext_[num];
        }
}

/* [<][>][^][v][top][bottom][index][help] */