关于FileFilter

杨洪波 2002-05-04 08:42:13
请问:
我想在对话框中只显示我的.YHB文件,用FileFilter,但我不想自己实现他的方法,可否直接用什么来实现啊?
非常感谢。
...全文
171 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
杨洪波 2002-05-04
  • 打赏
  • 举报
回复
to:foosleeper
你的程序和卷一有点雷同啊

to:apo...
非常感谢,你的程序实现的不错。
我太菜,现在也没很多时间来看,先用了。谢谢。
Apocalypse 2002-05-04
  • 打赏
  • 举报
回复
以前我写的,拿去用吧,可以指定一系列后缀名,用;隔开

例:FileFilter f = new CustomerFilter("jpg;gif;png", "web images");

public class CustomerFilter extends javax.swing.filechooser.FileFilter{
Vector extensionsToFilter = new Vector();
String typeDescription;
public CustomerFilter(String exts, String desp) {
super();
StringTokenizer st = new StringTokenizer(exts, ";");
while (st.hasMoreElements())
extensionsToFilter.add(st.nextElement());
typeDescription = desp;
}
public boolean accept(File file) {
if (file.isDirectory())
return true;
String fileName = file.getName();
int periodIndex = fileName.lastIndexOf(".");
if (periodIndex >0 && periodIndex < fileName.length() -1) {
String extension = fileName.substring(periodIndex +1).toLowerCase();
for (int i = 0; i < extensionsToFilter.size(); i++)
if (extension.equals(extensionsToFilter.elementAt(i)))
return true;
}
return false;
}
public String getDescription() {
String s = "";
for (int i = 0; i <extensionsToFilter.size(); i++)
s += "*." + extensionsToFilter.elementAt(i) + "; ";
return typeDescription + ": " + s;
}
}
FooSleeper 2002-05-04
  • 打赏
  • 举报
回复
import java.io.File;
import javax.swing.filechooser.FileFilter;

/**
* YHBFileFilter
*/
public class YHBFileFilter extends FileFilter {

/* (non-Javadoc)
* @see FileFilter#accept(File)
*/
public boolean accept(File file) {
String name = file.getName().toLowerCase();
if (name.endsWith(".yhb"))) {
return true;
}
else {
return false;
}

/* (non-Javadoc)
* @see FileFilter#getDescription()
*/
public String getDescription() {
return "YHB";
}

}
okyhc 2002-05-04
  • 打赏
  • 举报
回复
懒人

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧