kaninama
Messages postés56Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 mai 2006
-
29 avril 2006 à 10:59
kaninama
Messages postés56Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 mai 2006
-
29 avril 2006 à 16:21
Bonjour tt le monde,
j'ais un pb avec l'affichage d'un filchooser, j'utilise un filchooser personnalisé
avec filtrage de fichier et je veux que quand je clique sur un bouton ce
filechooser s'affiche mais le pb ce qu’il ne s'affiche pas et je ne comprend
pas prq???!! Je vous donne le code
public void button1_actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser(".");
chooser.setDialogType(JFileChooser.OPEN_DIALOG); // FileChooser personnalisé
chooser.setAcceptAllFileFilterUsed(false); // ne pas offrir l'option "tous les fichiers"
chooser.setDialogTitle("Selection d'un document XML ");
javax.swing.filechooser.FileFilter filter = new FiltreFichierXml(); // on déclare un filter
chooser.addChoosableFileFilter(filter); // on ajoute le filtre
kaninama
Messages postés56Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 mai 2006 29 avril 2006 à 16:21
merci Aethan ,
voila le pb est régler grace a ton aide
voila le code si sa peux aider qlq 1 d'autre
public void button1_actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser(".");
chooser.setDialogType(JFileChooser.OPEN_DIALOG); // FileChooser personnalisé
chooser.setAcceptAllFileFilterUsed(false); // ne pas offrir l'option "tous les fichiers"
chooser.setDialogTitle("Selection d'un document XML ");
FileFilter f = new FiltreFichierXml();
chooser.addChoosableFileFilter(f); // on ajoute le filtre
chooser.showOpenDialog(null);
}
//la class du filtre
public class FiltreFichierXml extends javax.swing.filechooser.FileFilter
{
public FiltreFichierXml() {
}
public boolean accept(File fichier)
{
if (fichier.isDirectory()) return true; // pour permettre l'affichage des sous dossire
return ((fichier.getName()).endsWith(".xml"));
}
public String getDescription() // la description associée à l'extension utilisée
{
return "Document XML";
}
parent est le composant parent...Ca lui sert a centrer la JDialog par rapport a ce composant je crois...en aucun cas ca ne peut etre this... si tu met null ca le mettra au centre de l'ecran.
Deuxiemement :
Je configure rarement les JFileChooser manuellement
(j'utilise souvent showOpenDialog() ) alors essaye setVisible(true);
Troisiemement : Pour les filtres je te conseille de creer un filtre générique pour tout le monde
du genre new Filtre(String extension, String description); si tu as plusieurs filtres ca evite une classe pour chaque
bloofi
Messages postés388Date d'inscriptionmercredi 1 octobre 2003StatutMembreDernière intervention 3 mai 20062 29 avril 2006 à 14:00
JFileChooser chooser = new JFileChooser();
// Note: source for ExampleFileFilter can be found in FileChooserDemo,
// under the demo/jfc directory in the JDK.
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("jpg");
filter.addExtension("gif");
filter.setDescription("JPG & GIF Images");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}
kaninama
Messages postés56Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 mai 2006 29 avril 2006 à 14:28
Re bonjour,
merci a vous bloofi,Aethan mais le pb persiste toujours et encore plus
quant la frame elle s'affiche le
filechooser apparaît avant de cliquer sur le bouton et le filtrage ne marche
pas je ne comprend rien si vous avez une idée je serai très reconnaissante
Aethan
Messages postés50Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention 4 mai 2006 29 avril 2006 à 14:41
je viens d'essayer ton code j'ai enlever les filtres car je ne les aient pas
JFileChooser chooser = new JFileChooser(".");
chooser.setDialogType(JFileChooser.OPEN_DIALOG);
chooser.setAcceptAllFileFilterUsed(false);
chooser.setDialogTitle("Selection d'un document XML ");
chooser.showOpenDialog(null);
Et ca fonctionne tres bien... J'ai mis tout ca dans un main simple et c nickel le probleme ne vient peut etre pas de cette partie du code... Ca peut venir de plein de choses OS, Ecouteur d'evenement ... Essaye deja le code ci dessus dans un main simple...
kaninama
Messages postés56Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 mai 2006 29 avril 2006 à 15:23
salut,
apparament quand j'ai enlever le filtre sa a marcher mais j'ais vraiment besoin du filtre je ne peux pas utilisé le jfilechooser sans le filtre donc ssi vous avez une idée je vous remercie
merci
kaninama
Messages postés56Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 mai 2006 29 avril 2006 à 15:29
Salut,
asq le filtre peut empêcher le bon fonctionnement du jfilechooser!!!!! je ne le
pense pas a vous de m'aider si vous si vous comprenez qlq chose a se pb bizarre
kaninama
Messages postés56Date d'inscriptionlundi 24 avril 2006StatutMembreDernière intervention28 mai 2006 29 avril 2006 à 15:36
voila le code de mon filtre
j'ai creer une class de filtre qui est
public class FiltreFichierXml extends javax.swing.filechooser.FileFilter
{
public FiltreFichierXml() {
}
public boolean accept(File fichier)
{
if (fichier.isDirectory()) return true; // pour permettre l'affichage des sous dossire
return ((fichier.getName()).endsWith(".xml")); //... et les fichiers d'extension xsd
}
public String getDescription() // la description associée à l'extension utilisée
{
return "Document XML";
}
}
et dans aprés dans je mets
public class FiltreFichierXml extends javax.swing.filechooser.FileFilter
{
public FiltreFichierXml() {
}
public boolean accept(File fichier)
{
if (fichier.isDirectory()) return true; // pour permettre l'affichage des sous dossire
return ((fichier.getName()).endsWith(".xml")); //... et les fichiers d'extension xsd
}
public String getDescription() // la description associée à l'extension utilisée
{
return "Document XML";
}
}
voila tout le code du filechooser plus le filtre
merci beaucoup Aethan