Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UTILISATION D'UN JFILECHOOSER


Information sur la source

Catégorie :Application Classé sous : jfilechooser, sélection, fichier Niveau : Débutant Date de création : 04/04/2002 Date de mise à jour : 04/04/2002 14:48:28 Vu : 34 132

Note :
6,5 / 10 - par 4 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce code permet à l'utilisateur de choisir un fichier sur son disque dur et affiche le chemin complet de ce fichier, ce code ne montre pas toutes les possibilités d'un JFileChooser donc je l'éditeris pour le compléter plus tard. (regarder la capture d'écran pour voir...)  
 

Source

  • import java.awt.*;
  • import java.awt.event.*;
  • import javax.swing.*;
  • import java.io.*;
  • public class Ouvrir extends JFrame implements ActionListener{
  • JButton open = new JButton("Selectionner un fichier"); //nouveau bouton open
  • JTextField status = new JTextField("Pas de fichier chargé!"); //nouveau champs de texte
  • public Ouvrir() {
  • super("Test d'ouverture d'un JFileChooser"); //titre
  • setSize(450,100); //taille
  • setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//fermeture
  • status.setEditable(false);
  • open.addActionListener(this);//ajout d'un actionlistener
  • JPanel pane = new JPanel();
  • BorderLayout bord = new BorderLayout();
  • pane.setLayout(bord);
  • pane.add("North", status);
  • pane.add("Center", open);
  • setContentPane(pane);
  • setVisible(true);
  • }
  • public static void main(String[] arguments) {
  • try{
  • UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
  • }
  • catch (Exception e)
  • {
  • }
  • Ouvrir index = new Ouvrir();
  • }
  • public void actionPerformed(ActionEvent evt) {
  • JFileChooser chooser = new JFileChooser();//création dun nouveau filechosser
  • chooser.setApproveButtonText("Choix du fichier..."); //intitulé du bouton
  • chooser.showOpenDialog(null); //affiche la boite de dialogue
  • if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
  • {
  • status.setText(chooser.getSelectedFile().getAbsolutePath()); //si un fichier est selectionné, récupérer le fichier puis sont path et l'afficher dans le champs de texte
  • }
  • }
  • }
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; 
import java.io.*;

public class Ouvrir extends JFrame  implements ActionListener{
                
    	JButton open = new JButton("Selectionner un fichier"); //nouveau bouton open
    	JTextField status = new JTextField("Pas de fichier chargé!"); //nouveau champs de texte

   	public Ouvrir() {
   	super("Test d'ouverture d'un JFileChooser"); //titre
   	setSize(450,100); //taille
   	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//fermeture
	status.setEditable(false);
	open.addActionListener(this);//ajout d'un actionlistener
	JPanel pane = new JPanel();
        BorderLayout bord = new BorderLayout();
        pane.setLayout(bord);
        pane.add("North", status);
        pane.add("Center", open);
        setContentPane(pane);
        setVisible(true);
	}

	public static void main(String[] arguments) {
	try{  
	UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
	}
	catch (Exception e) 
	{ 
	}
        Ouvrir index = new Ouvrir();
        }

	public void actionPerformed(ActionEvent evt) {	
	JFileChooser chooser = new JFileChooser();//création dun nouveau filechosser
	chooser.setApproveButtonText("Choix du fichier..."); //intitulé du bouton
	chooser.showOpenDialog(null); //affiche la boite de dialogue
	if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
    	{	
	status.setText(chooser.getSelectedFile().getAbsolutePath()); //si un fichier est selectionné, récupérer le fichier puis sont path et l'afficher dans le champs de texte
	}
  	}
}  

Conclusion

Voilà....je l'ai pas commenté à son maximum mais le code est simple, il est fait par un débutant pour des débutants :) ==> pas de zip
Mikonyx  
 

Commentaires et avis

signaler à un administrateur
Commentaire de polo12 le 30/11/2002 22:12:23

c'est bien

signaler à un administrateur
Commentaire de prey le 30/05/2003 09:40:17

Salut,
ton code fonctionne super bien, par contre, j'ai un soucis, l'interface de la boite de dialogue est en anglais chez moi, sauf les noms de boutons qui sont codés.
Saurais-tu d'ou ca peut venir ?
Merci de ton aide,
@+
Pervenche.

signaler à un administrateur
Commentaire de MatFromPo le 23/08/2005 20:58:33

Salut tout le monde.
Le code est clair et fonctionne. Seul petite rectif : la ligne 39 n'est pas nécessaire car l'affichage de la boite est fait a la ligne 40, l'action est donc faite 2 fois et cela oblige a sélectionner 2 fois le fichier.

signaler à un administrateur
Commentaire de laugui le 06/03/2006 17:59:49

Nikel, je cherchais pour la première fois a gérer se genre de choses(chargement fichier) et grâce à ce petit code source bien pratique j'ai vite appris.

Que demander de plus clair et efficace ?!

merci

signaler à un administrateur
Commentaire de pseudal le 22/05/2006 15:35:49

Un code clair et simple comme je les aime !!!!

Petite question est il possible de pouvoir sélectionner un dossier et non un fichier !!!

signaler à un administrateur
Commentaire de Mikonyx le 24/05/2006 20:58:48

Pseudal > regardes dans les méthodes de l'API de la classe JFileChooser, c'est en effet possible :)

signaler à un administrateur
Commentaire de didoux95 le 25/12/2006 22:19:31

Bonjour a tous,
Pour ceux que ca interresserait, pour ne pouvoir selectionner que des dossiers il  suffit d'utiliser l'attribut ".setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);"

si non pour le code simple et claire (nikel).
Voila +

signaler à un administrateur
Commentaire de kiholo le 05/02/2007 13:49:03

bonjour à tous,
j'ai fait un copier coller dans eclipse qui me sort certains problèmes
dans la class Ouvrir il demande
private static final long serialVersionUID = 1L;
import java.io.*; n'est pas utilisé
JButton et JTextField ne doivent ils pas être en private ?
j'ai aussi commenté chooser.showOpenDialog(null); //affiche la boite de dialogue
qui en effet affiche deux fois la boite de dialogue
sinon excellent et très didactique
merci

signaler à un administrateur
Commentaire de liquideshark le 05/03/2007 01:34:25

Salut

merci pour tes 4 lignes du jfilechooser, tu m'a epargné un gro probleme.
je voudrais que le filechooser n'accepte que du txt; comment s'y prendre merci!

signaler à un administrateur
Commentaire de spyder92 le 05/03/2007 10:41:38

Bonjour à tous,
J'utilise le JFileChooser pour mon application pour selectionner le fichier qui sera copier par mon appli et mon problème est que quand je fè un clique sur un fichier j'ai la possibilité de renommer le fichier ce qui pour des problemes de sécurité n'est pas envisageable. Je voudrais que l'utilisateur puisse selectionner le fichier mais sans avoir la possibilité de le renommer.
Si qq'un sait comment je peux désactiver cette option son aide est bienvenue.
merci!

signaler à un administrateur
Commentaire de didoux95 le 05/03/2007 16:12:27

Bonjour a tous.
liquideshark >> tu creer un filefilter avec l'extension que tu veux, et tu l'ajoute a ton JFileChooser.
Ensuite si tu veux ne pouvoir selectionner QUE des fichier txt tu fais ".setAcceptAllFileFilterUsed(false);" sur ton JFilChooser.

+

signaler à un administrateur
Commentaire de liquideshark le 05/03/2007 22:46:25

Salut DIDOUX95

jai etendus la class filechooser voici un appercu:::
.................................................................
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
// TODO add your handling code here:
        JFileChooser chooser = new JFileChooser();
        chooser.setApproveButtonText("Ouvrir");
        chooser.setDialogTitle("Ouvrir fichier texte");
        chooser.setFileSelectionMode(chooser.FILES_ONLY);
        
        GFilefilter myfilter = new GFilefilter();
================================================================
PROBLEME 0 CE NIVEAU
        comment ?utilisé la class GFilefilter que je viens de                 crée???
=================================================================
        int bouton_ouvrir = chooser.showOpenDialog(null);
        if(bouton_ouvrir == chooser.APPROVE_OPTION){
            jTextArea1.setText(chooser.getSelectedFile().getPath());
        }

    }                                        
    
   //la class GFILEFILTER >>>><<<<
    class GFilefilter extends FileFilter {
        
        
        public boolean accept(File f) {
            return f.getName().toLowerCase().endsWith(".txt");
        }
        
        public String getDescription() {
            return ".txt files";
        }
        
    }
..................................................................

signaler à un administrateur
Commentaire de didoux95 le 06/03/2007 12:59:06

slt.
je te donne la class que j'ai utiliser pour une de mes appli

// Nom du prog: Decoupeur_MP3
// Auteur: Jean-Baptiste F.
// Date: 21:54 19/02/2007

import java.io.File;
import java.util.*;
import javax.swing.*;
import javax.swing.filechooser.*;

public class FiltreExtensible extends FileFilter{

//Description et extensions acceptées par le filtre
private String description;
private List<String> extensions;


//Constructeur à partir de la description
public FiltreExtensible(String description){
if(description == null){
throw new NullPointerException("La description ne peut être null.");
}
this.description = description;
this.extensions = new ArrayList<String>();
}


//Implémentation de FileFilter
public boolean accept(File file){
if(file.isDirectory() || extensions.size()==0) {
return true;
}
String nomFichier = file.getName().toLowerCase();
for(String extension : extensions){
if(nomFichier.endsWith(extension)){
return true;
}
}
return false;
}

public String getDescription(){
StringBuffer buffer = new StringBuffer(description);
buffer.append(" (");
for(String extension : extensions){
buffer.append(extension).append(" ");
}
return buffer.append(")").toString();
}


//Quelques méthodes utilitaires
public void setDescription(String description){
if(description == null){
throw new NullPointerException("La description ne peut être null.");
}
this.description = description;
}

public void addExtension(String extension){
if(extension == null){
throw new NullPointerException("Une extension ne peut être null.");
}
extensions.add(extension);
}

public void removeExtension(String extension){
extensions.remove(extension);
}

public void clearExtensions(){
extensions.clear();
}

public List<String> getExtensions(){
return extensions;
}
}

//**********************************
et voici comment tu l'utilise:
//**********************************
ChoixFS = new JFileChooser();
ChoixFS.setFileSelectionMode(JFileChooser.FILES_ONLY);
ChoixFS.setAcceptAllFileFilterUsed(false);

FiltreExtensible Filtre = new FiltreExtensible("Fichier audio mp3");
Filtre.addExtension(".mp3");
ChoixFS.addChoosableFileFilter(Filtre);

if (ChoixFS.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
SaisieEmplacementFS.setText("" + ChoixFS.getSelectedFile().getAbsolutePath());
}
//******************************************
voila. +

signaler à un administrateur
Commentaire de khaledinfor le 14/01/2009 14:46:54

salut
tré bien

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

JFileChooser [ par jpegg ] Bonsoir a tous,Je dois utiliser un JFileChooser pour creer un gestionaire de fichier de mon repertoire courant. Je cree un JFileChooser, mais j aimera Obtenir la valeur texte d'un JFileChooser [ par ZeMoskito ] Bonjour à tous,J'ai un petit problème concernant les JFileChooser.Je réalise une sorte d'FTP avec deux FileChooser dans la meme fenetre, un pour le fi Filechooser + sauvegarder [ par Bashi ] Salut, j'essaie d'indiquer dans quel fichier sauvegarder avec un jfilechooser. Cependant, je ne suis pas capable de faire un "save as" au lieu d'un "s jFileChooser : empêcher la saisie nom du fichier [ par Foub12 ] Bonjour,j'ai cr&#233;&#233; un jFileChooser pour que l'utilisateur puisse s&#233;lectionner un fichier XML dans mon application. Comment puis-je m'y p FileFilter affiche toujours 'Tous mes fichiers' [ par sdailly ] Je cherche &#224; ouvrir un fichier midi. J'utilise JFileChooser et la classe de d&#233;mo ExempleFileFilter. Je ne veux s&#233;lectionner que les fi Ne pas devoir tapper le nom du fichier dans un jFileChooser [ par Never_Summer ] &nbsp;&nbsp;Voila,J'ai un objet film qui a une propriet&#233; getNom().&nbsp;Ce que&nbsp;je voudrai, c'est que lorsque je sauvegarde cette objet en pa JFileChooser [ par Skyffer3 ] Bonjour a tous, je voudrais savoir comment transmettre un jfilechooser d'un serveur a un client.Je vous explike, j'aimerais que le client puisse chois ouvrir et sauvgarder un fichier image avec un jFileChooser. [ par etudev ] bonjour tout le monde,Je suis une debutante en java et j'utilise jbuilder, je voudrai savoir comment ouvrir un fichier image en utilisant un jFileChoo Message "Wait" pendant chargement d'un fichier choisi avec JFileChooser [ par killerb0b ] Bonjour, Je me bat pour un truc qui avait l'air tout simple à l'origine mais qui finallement s'avère très prise de tête. Contexte : J'ai une applica PROBLEME AVEC LE JFILECHOOSER [ par liquideshark ] SALUT Je voudrais limiter le choix des fichiers à mon JFILECHOSER; genre  dans le combobox type de fichier qu'on ourvre que les fichiers ".txt" et ".h


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,967 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.