Filtre dans les JFileChoosen

Résolu
Signaler
Messages postés
59
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
13 janvier 2006
-
Messages postés
54
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 avril 2006
-
Bonjour

je voudrais faire un filtre dans les JFileChoosen et on m'a dit que je pouvais utiliser ExampleFileFilter()
néanmoins quand je le mets il me dit qu'il ne connait pas la classe.

J'ai fait les imports suivants:

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.filechooser.*;
import java.util.*;

est ce que vous savez ce qu'il manque

merci beaucoup
JC

6 réponses

Messages postés
54
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 avril 2006

C bon g la reponse :

Ca c le filtre :
/*
* Created on 16 nov. 2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.io.File;
import java.util.Hashtable;
import java.util.Enumeration;
import javax.swing.filechooser.*;

/**
* @author Will
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class FiltreFichier extends FileFilter {
private static String TYPE_INCONNU = "Type inconnu";
private static String FICHIER_CACHE = "Fichier cache";

private Hashtable filtres = null;
private String description = null;
private String descriptionComplete = null;
private boolean useExtensionsInDescription = true;

public FiltreFichier()
{
this.filtres = new Hashtable();
}

public FiltreFichier(String extension)
{
this(extension,null);
}

public FiltreFichier(String extension, String description)
{
this();
if(extension!=null)
addExtension(extension);

if(description!=null)
setDescription(description);
}

public FiltreFichier(String[] filters)
{
this(filters, null);
}

public FiltreFichier(String[] filters, String description)
{
this();
for (int i = 0; i < filters.length; i++)
{
// add filters one by one
addExtension(filters[i]) ;
}
if(description!=null)
setDescription(description);
}

/**
* Return true if this file should be shown in the directory pane,
* false if it shouldn't.
*
* Files that begin with "." are ignored.
*
* @see #getExtension
* @see FileFilter#accepts
*/

public boolean accept(File f)
{
if(f != null)
{
if(f.isDirectory())
{
return true;
}
String extension = getExtension(f);
if(extension != null && filtres.get(getExtension(f)) != null)
{
return true;
};
}
return false;
}

public void addExtension(String extension)
{
if(filtres == null)
{
filtres = new Hashtable(5);
}
filtres.put(extension.toLowerCase(), this) ;
descriptionComplete = null;
}

/**
* Return the extension portion of the file's name .
*
* @see #getExtension
* @see FileFilter#accept
*/
public String getExtension(File f)
{
if(f != null)
{
String filename = f.getName();
int i = filename.lastIndexOf('.');
if(i>0 && i<filename.length()-1)
{
return filename.substring(i+1).toLowerCase();
}
}
return null;
}

public String getDescription()
{
if(descriptionComplete == null)
{
if(description == null || isExtensionListInDescription())
{
descriptionComplete = description==null ? "(" : description + " (";
Enumeration extensions = filtres.keys();
if(extensions != null)
{
descriptionComplete += "." + (String) extensions.nextElement();
while (extensions.hasMoreElements())
{
descriptionComplete += ", ." + (String) extensions.nextElement();
}
}
descriptionComplete += ")";
}
else
{
descriptionComplete = description;
}
}
return descriptionComplete;
}

public void setDescription(String description)
{
this.description = description;
descriptionComplete = null;

}

public void setExtensionListInDescription(boolean b)
{
useExtensionsInDescription = b;
descriptionComplete = null;
}

public boolean isExtensionListInDescription()
{
return useExtensionsInDescription;
}

}
/***********************************/
et ca c comment tu l'utilise :

private JFileChooser selecteurDossier = new JFileChooser(".") ; // si on met rien, chemin par defaut
FiltreFichier filtre = new FiltreFichier("mp3", "Fichier mp3") ; // filtre poiur les fichiers mp3

selecteurDossier.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );// pour afficher les dossier et les fichiers

selecteurDossier.addChoosableFileFilter(filtre);

Je pense que ca peut t'aider
:big) :big) :big) :big)
Messages postés
649
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
9 septembre 2004
7
ExampleFileFilter connait pas mais
regarde demo/jfc/FileChooserDemo dans le rep de ton JDK
Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
1
ExampleFileFilter est justement ;-p une classe de l'exemple FileChooserDemo
:big)

Dobeliou
[Qui pisse loin, ménage ses chaussures.]
Messages postés
54
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 avril 2006

Tu as un reponse a ton probleme car j'ai le meme
Merci
:big) :big) :big) :big)
Messages postés
59
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
13 janvier 2006

JC
Messages postés
59
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
13 janvier 2006

DSL
je n'ai toujours pas de réponse pour cela
++
JC