1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.*;
public class FiltreSimple extends FileFilter{
//Description et extension acceptée par le filtre
private String description;
private String extension;
//Constructeur à partir de la description et de l'extension acceptée
public FiltreSimple(String description, String extension){
if(description == null || extension ==null){
throw new NullPointerException("La description (ou extension) ne peut être null.");
}
this.description = description;
this.extension = extension;
}
//Implémentation de FileFilter
public boolean accept(File file){
if(file.isDirectory()) {
return true;
}
String nomFichier = file.getName().toLowerCase();
return nomFichier.endsWith(extension);
}
public String getDescription(){
return description;
}
//Test
public static void main(String[] args){
FileFilter java = new FiltreSimple("Fichiers Java",".java");
FileFilter classes = new FiltreSimple("Fichiers Class",".class");
FileFilter jar = new FiltreSimple("Fichiers JAR",".jar");
JFileChooser chooser = new JFileChooser(".");
chooser.addChoosableFileFilter(java);
chooser.addChoosableFileFilter(classes);
chooser.addChoosableFileFilter(jar);
chooser.showOpenDialog(null);
}
} |
Partager