Forum Clubic

[Java] Filtrer fichiers dans FileDialog

J’ai créé une application où l’on peut ouvrir des fichiers ou enregistrer des objets sérialisés… Je veux que lorsqu’on souhaite ouvrir un objet enregistré (sous forme de fichier), on ne puisse ouvrir que des fichiers possédant une extension précise (.dfc par exemple).

J’ai bien trouvé des exemples utilisant une JFileChooser mais est-ce possible avec une FileDialog ?

Merci d’avance pour vos réponses :jap:

J’ai essayé d’utiliser la méthode setFilenameFilter mais rien n’y fait ça ne fonctionne toujours pas :frowning:

Voilà la classe implémentant l’interface FilenameFilter:


import java.io.File;
import java.io.FilenameFilter;
 
public class FiltreFichier implements FilenameFilter{
 
     public FiltreFichier() {}
   
     public boolean accept(File dir, String name) {

        System.out.println("dir");
        return name.endsWith(".dic");
     }
} 

Et la création de la FileDialog :



fd = new FileDialog(fenetre, "Ouvrir...", FileDialog.LOAD);

fd.setFilenameFilter(new FiltreFichier());
fd.setVisible(true);               
fd.addWindowListener(new BasicWindowMonitor()); 

Aucun fichier n’est filtré … tous les fichiers sont affichés dans la fenêtre de dialogue
:frowning:

Dans la doc est écrit :

Je dois donc me résoudre à utiliser un JFileChooser ??