⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filetypefilter.java

📁 JR 公共类库 --Java研究组织开源子项目 本项目的发起的初衷是丰富和完善java的类库
💻 JAVA
字号:
package org.jr.swing.filter;

/**
 * <p>Copyright: Copyright (c) 2002-2003</p>
 * <p>Company: JavaResearch(http://www.javaresearch.org)</p>
 * <p>最后更新日期:2003年3月25日
 * @author Cherami
 */

import java.io.*;

import org.jr.util.*;

/**
 * 扩展名文件过滤器。
 * @since  0.4
 */

public class FileTypeFilter
    extends javax.swing.filechooser.FileFilter {
  String[] suffixList;
  String description;
  boolean caseSensitive = false;
  /**
   * 使用指定的扩展名构造一个FileTypeFilter。
   * @param suffix 扩展名
   * @since  0.5
   */
  public FileTypeFilter(String suffix) {
    suffixList = new String[1];
    suffixList[0]=suffix;
  }
  /**
   * 使用指定的扩展名数组构造一个FileTypeFilter。
   * @param suffixList 扩展名数组
   * @since  0.4
   */
  public FileTypeFilter(String[] suffixList) {
    this.suffixList = suffixList;
  }

  /**
   * 使用指定的扩展名数组构造一个FileTypeFilter。
   * @param suffixList 扩展名数组
   * @param description 过滤器的描述文本
   * @since  0.4
   */
  public FileTypeFilter(String[] suffixList, String description) {
    this.suffixList = suffixList;
    this.description = description;
  }

  /**
   * 使用指定的扩展名数组和是否大小写敏感构造一个FileTypeFilter。
   * @param suffixList 扩展名数组
   * @param caseSensitive 是否大小写敏感
   * @since  0.4
   */
  public FileTypeFilter(String[] suffixList, boolean caseSensitive) {
    this.suffixList = suffixList;
    this.caseSensitive = caseSensitive;
  }

  /**
   * 使用指定的扩展名数组和是否大小写敏感构造一个FileTypeFilter。
   * @param suffixList 扩展名数组
   * @param caseSensitive 是否大小写敏感
   * @param description 过滤器的描述文本
   * @since  0.4
   */
  public FileTypeFilter(String[] suffixList, boolean caseSensitive,
                        String description) {
    this.suffixList = suffixList;
    this.caseSensitive = caseSensitive;
    this.description = description;
  }

  /**
   * 设置是否大小写敏感。
   * @param caseSensitive 是否大小写敏感
   * @since  0.4
   */
  public void setCaseSensitive(boolean caseSensitive) {
    this.caseSensitive = caseSensitive;
  }

  /**
   * 是否大小写敏感
   * @return 大小写敏感时返回true,否则返回false
   * @since  0.4
   */
  public boolean getCaseSensitive() {
    return caseSensitive;
  }

  /**
   * 判断指定的文件是否可以被接受。
   * @param file 需要判断的文件
   * @return 扩展名符合指定的要求时返回true,否则返回false。
   * @since  0.4
   */
  public boolean accept(File file) {
    String filename = file.getName();
    int dot = filename.lastIndexOf(".");
    if (dot == -1) {
      return false;
    }
    return StringUtil.contains(suffixList, filename.substring(dot + 1),
                               caseSensitive);
  }

  /**
   * 返回过滤器的描述字符串。
   * @return 所有扩展名的列表
   * @since  0.4
   */
  public String getDescription() {
    if (description != null) {
      return description;
    }
    return StringUtil.combineStringArray(suffixList, "/");
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -