javax.swing.filechooser.FileFilter接口,并实现它的accept(File f)和getDescription()
时间: 2024-03-13 19:45:20 浏览: 58
好的,以下是一个实现`javax.swing.filechooser.FileFilter`接口的例子:
```java
import java.io.File;
import javax.swing.filechooser.FileFilter;
public class MyFileFilter implements FileFilter {
private final String[] acceptedExtensions = new String[] {"jpg", "jpeg", "png", "gif"};
@Override
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
}
String extension = getExtension(f);
if (extension != null) {
for (String acceptedExtension : acceptedExtensions) {
if (extension.equalsIgnoreCase(acceptedExtension)) {
return true;
}
}
}
return false;
}
@Override
public String getDescription() {
return "Image files (*.jpg, *.jpeg, *.png, *.gif)";
}
private String getExtension(File f) {
String extension = null;
String fileName = f.getName();
int i = fileName.lastIndexOf('.');
if (i > 0 && i < fileName.length() - 1) {
extension = fileName.substring(i + 1).toLowerCase();
}
return extension;
}
}
```
在这个例子中,我们实现了`javax.swing.filechooser.FileFilter`接口,并实现了其中的`accept(File f)`和`getDescription()`方法。`accept(File f)`方法用于判断指定的文件是否应该被显示在文件选择器中,我们在这里判断了文件的扩展名是否为`jpg`、`jpeg`、`png`或`gif`中的一个。`getDescription()`方法用于返回该过滤器的描述信息,我们在这里返回了一个字符串,告诉用户该过滤器可以用于选择哪些类型的文件。
阅读全文