bonjour à tous,
voila je n'arrive pas à appliquer un filtre dans une fenêtre, voici mes deux classes qui sont censé faire ça :
ainsi que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 package mod; import java.io.File; import java.io.FileFilter; /** * * @author alex */ public class filtreMod implements 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 filtreMod(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; } }
après plusieurs recherches, j'ai vu que dans ma classe filtreMod il aurait fallu mettre 'extends FileFilter' mais cela me cré des soucis dans l'autre classe du coup j'ai mis 'implements' et ca m'enlève un premier souci , de plus si je mets extends ca me mets 'no interface expected here'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 package mod; import java.io.File; import java.io.FileFilter; import javax.swing.JFileChooser; /** * * @author alex */ public class boiteDialogue { File fichier; /** * * @param titre donne le titre souhaité à la boite de dialogue * @return le fichier sélectionné */ public File ouvertureBoite(String titre){ //JFileChoose est ue boite de dialogue en graphique qui propose à l'utilisateur //de parcourir le disque et de choisir le fichier souhaité FileFilter model = new filtreMod("fichiers mod","mod"); JFileChooser fc = new JFileChooser("."); fc.addChoosableFileFilter(model); // LE SOUCI // la variable titre permet de donner un titre à ma boite de dialogue pour la rendre plus explicite fc.setDialogTitle(titre); int retour=fc.showOpenDialog(null); // si l'on a fait un choix de fichier celui-ci est récupéré dans la vairiable fichier if(retour==JFileChooser.APPROVE_OPTION){ fichier=fc.getSelectedFile(); } // nous retourne le fichier sélectionné return fichier; } }
Deuxième souci ( à l'endroit où j'ai marqué plus haut LE SOUCI ) il me met un message d'erreur pour le type utilisé : required javax.swing.fileChooser.FileFilter
voilà donc je peux pas filtrer, si quelqu'un a une idée
merci d'avance
Partager