【发布时间】:2012-12-24 18:00:58
【问题描述】:
下面是我点击按钮打开JFileChooser 的代码。我创建了一个过滤器,只允许选择 .jpg 文件,但我的代码没有按预期工作。所有类型的文件都显示在JFileChooser 对话框中。部分代码:
MyFileFilter filter;
fPhoto=new JFileChooser();
fPhoto.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fPhoto.setFileFilter(filter);
MyFileFilter 类:
public class MyFileFilter extends javax.swing.filechooser.FileFilter{
public boolean accept(File f){
return f.isDirectory()||(f.isFile()&&f.getName().toLowerCase().endsWith(".jpg"));
}
public String getDescription(){
return ".jpg files";
}
}
【问题讨论】:
-
启动调试器、设置一两个断点并逐步检查代码以查看您做错了什么会更快,也更有教育意义。假设这个类在正确实施时可以正常工作。
-
您发布的代码未初始化
filter变量。我不确定,但这可能是原因。 -
The First Rule of Programming: It's Always Your Fault - 你的
filter是null -
一个非常愚蠢的错误:D!谢谢哈奇克!
标签: java swing jfilechooser filefilter