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 !

APPEL ET CONFIGURATION SIMPLIFIÉE DE JFILECHOOSER


Information sur la source



Description

Ce code, constitué d'une procédure et d'un champ permet d'automatiser l'appel à JFileChooser.showOpenDialog
--> retourne le File du fichier sélectionné, ou null si erreur (les exceptions sont traitées par la procédure) ou annulation
--> on peut préciser le parent (paramètre de type Component), la possibilité de choisir n'importe quel type de fichier ou non (paramètre de type boolean), et les extensions par paires de : String description, String[] extensionsPossibles (sans le "*.", paramètre de type Hashtable<String,String[]>)
--> mémorise aussi le chemin du dernier fichier validé, pour ouvrir directement à cet endroit lors de la prochaine utilisation durant la même cession de le JVM .
 

Source

  • package com.loloof64.classesutilitaires;
  • import java.awt.Component;
  • import java.io.File;
  • import java.util.Enumeration;
  • import java.util.Hashtable;
  • import javax.swing.JFileChooser;
  • import javax.swing.filechooser.FileNameExtensionFilter;
  • /**
  • * Permet d'automatiser l'appel à JFileChooser.showOpenDialog
  • * <ul>
  • * <li>retourne le File du fichier sélectionné,
  • * ou null si erreur (les exceptions sont traitées par la procédure) ou annulation
  • * <li>on peut préciser
  • * <ul>
  • * <li> le parent (paramètre de type Component),
  • * <li>la possibilité de choisir n'importe quel type de
  • * fichier ou non (paramètre de type boolean),
  • * <li>les extensions par paires de : String description,
  • * String[] extensionsPossibles
  • * (sans le "*.", paramètre de type Hashtable<String,String[]>)
  • * </ul>
  • * <li>mémorise aussi le chemin du dernier fichier validé,
  • * pour ouvrir directement à cet endroit lors de la
  • * prochaine utilisation durant la même cession de le JVM .
  • * </ul>
  • * @author laurent bernabé
  • *
  • */
  • public class OuvertureFichier extends JFileChooser {
  • /**
  • *
  • */
  • private static final long serialVersionUID = 530497737963613770L;
  • /**
  • * Le chemin du dernier fichier ouvert .
  • */
  • private File dernierChemin = null;
  • /**
  • * Boite de dialogue commune pour obtenir la
  • * référence File d'un fichier, avec les extensions faciles à préciser .
  • * @param composant - Component - Le composant parent .
  • * @param extensions - HashTable de clés String et de valeurs String[] - les extensions :
  • * les clés correspondent aux intitulés, le tableau de valeurs, aux noms des extensions (sans le "*.") .
  • * @param selectionTousTypeFichierPossible - boolean - autorise ou non la possibilité de choisir n'importe
  • * quel type de fichier .
  • * @return - File - La référence sur le fichier à ouvrir, null si annule ou erreur .
  • */
  • public File menuCommunOuvertureFichier(Component composant,
  • Hashtable<String, String[]> extensions, boolean selectionTousTypeFichierPossible) {
  • File f = null;
  • JFileChooser menu;
  • String intituleDeLExtension;
  • String[] nomsDeLExtension;
  • Enumeration<String> clefsExtensions;
  • menu = new JFileChooser(dernierChemin);
  • menu.setMultiSelectionEnabled(false);
  • menu.setAcceptAllFileFilterUsed(selectionTousTypeFichierPossible);
  • // ajoute les extensions, si définies
  • if (extensions != null) {
  • clefsExtensions = extensions.keys();
  • while (clefsExtensions.hasMoreElements()) {
  • intituleDeLExtension = clefsExtensions.nextElement();
  • nomsDeLExtension = extensions.get(intituleDeLExtension);
  • menu.addChoosableFileFilter(new FileNameExtensionFilter(
  • intituleDeLExtension, nomsDeLExtension));
  • }
  • }
  • if (menu.showOpenDialog(composant) == JFileChooser.APPROVE_OPTION)
  • f = menu.getSelectedFile();
  • this.dernierChemin = menu.getCurrentDirectory();
  • return f;
  • }
  • /**
  • * @return File - le dernierChemin
  • */
  • public File getDernierChemin() {
  • return dernierChemin;
  • }
  • /**
  • * @param dernierChemin - File - le dernierChemin à fixer
  • */
  • public void setDernierChemin(File dernierChemin) {
  • this.dernierChemin = dernierChemin;
  • }
  • }
package com.loloof64.classesutilitaires;

import java.awt.Component;
import java.io.File;
import java.util.Enumeration;
import java.util.Hashtable;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

/**
 * Permet d'automatiser l'appel à JFileChooser.showOpenDialog
 * <ul>
 * <li>retourne le File du fichier sélectionné, 
 * ou null si erreur (les exceptions sont traitées par la procédure) ou annulation
 * <li>on peut préciser 
 *  <ul>
 *  <li> le parent (paramètre de type Component),
 *  <li>la possibilité de choisir n'importe quel type de 
 *  fichier ou non (paramètre de type boolean),
 *  <li>les extensions par paires de : String description,
 *   String[] extensionsPossibles
 *   (sans le "*.", paramètre de type Hashtable<String,String[]>)
 *  </ul>
 *  <li>mémorise aussi le chemin du dernier fichier validé,
 *   pour ouvrir directement à cet endroit lors de la 
 *   prochaine utilisation durant la même cession de le JVM .
 *  </ul>
 * @author laurent bernabé
 *
 */
public class OuvertureFichier extends JFileChooser {

	/**
	 * 
	 */
	private static final long serialVersionUID = 530497737963613770L;

	/**
	 * Le chemin du dernier fichier ouvert .
	 */
	private File dernierChemin = null;
	
	/**
	 * Boite de dialogue commune pour obtenir la
	 * référence File d'un fichier, avec les extensions faciles à préciser .
	 * @param composant - Component - Le  composant parent .
	 * @param extensions - HashTable de clés String et de valeurs String[] - les extensions :
	 * les clés correspondent aux intitulés, le tableau de valeurs, aux noms des extensions (sans le "*.") .
	 * @param selectionTousTypeFichierPossible - boolean - autorise ou non la possibilité de choisir n'importe
	 * quel type de fichier . 
	 * @return - File - La référence sur le fichier à ouvrir, null si annule ou erreur .
	 */
	public File menuCommunOuvertureFichier(Component composant,
			Hashtable<String, String[]> extensions, boolean selectionTousTypeFichierPossible) {
		File f = null;
		JFileChooser menu;
		String intituleDeLExtension;
		String[] nomsDeLExtension;
		Enumeration<String> clefsExtensions;

		menu = new JFileChooser(dernierChemin);
		menu.setMultiSelectionEnabled(false);
		menu.setAcceptAllFileFilterUsed(selectionTousTypeFichierPossible);
		// ajoute les extensions, si définies
		if (extensions != null) {
			clefsExtensions = extensions.keys();
			while (clefsExtensions.hasMoreElements()) {
				intituleDeLExtension = clefsExtensions.nextElement();
				nomsDeLExtension = extensions.get(intituleDeLExtension);
				menu.addChoosableFileFilter(new FileNameExtensionFilter(
						intituleDeLExtension, nomsDeLExtension));
			}
		}
		if (menu.showOpenDialog(composant) == JFileChooser.APPROVE_OPTION)
			f = menu.getSelectedFile();
			this.dernierChemin = menu.getCurrentDirectory();
		return f;
	}

	/**
	 * @return File - le dernierChemin
	 */
	public File getDernierChemin() {
		return dernierChemin;
	}

	/**
	 * @param dernierChemin - File - le dernierChemin à fixer
	 */
	public void setDernierChemin(File dernierChemin) {
		this.dernierChemin = dernierChemin;
	}
	
	
	
}

Conclusion

Il vous faut au moins la version 5 du sdk java (à cause des formalismes des types génériques : classe Hashtable) .
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

JFileChooser- pb recupération du nombre de fichiers [ par Infameus ] Je developpe un diaporama et pour cela j'utilise la classe JfileChooser, avec la methode getFilesSelected, je récupère mes fichiers images, mais j'aim 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 Configuration: java.library.path [ par zebulaon ] Bonjour,Si qqn pourrait m'indiquer comment on configure la variable d'envirronement afin que le java.library.path soit correct??Quel nom?, comment...M Filtre JFileChooser [ par guyrnaf ] salut a tousj'ai realiser un JFileChooser et je souhaiterais y appliquer un filtre qui limiterais le choix aux fichiers gif et jpgmerci de me repondre Problème de serialization [ par magicyan ] Salut. J'ai un problème pour restaurer un objet a partir d'un fichier. Quand je veux charger l'objet le programme va dans le catch. Je pense que le pr Ouverture de plusieurs interface JAVA sous windows [ par sallami ] Salut a tous,je suis entrain de developper une interface Java et je voudrai garder ma fenetre principale ouverte lorsque je clique sur un bouton qui v JFileChooser & jbuilder [ par hamma2 ] salut,je veux accéder sur les évènements des boutons de JFileChooser avec jbuilder mais quand je clique sur un bouton de JFileChooser on ne peut pas l probleme de configuration [ par lesaixol ] Bonjour,je suis sous windows NT et lorsque je me met sous mon compte utilisateur, je ne peux pas visualiser mon applet avec internet explorer (version configuration de jbuilder9 avec jrun3 ou 4 [ par oceanxxxl ] Comment faire pour configurer jbuilder9 pour qu'il fonctionne avec jrun.3 ou 4.&lt;br&gt; principalement pour pouvoir debugger avec jbuilder sans avoi Ouverture fichier EXCEL [ par Tara ] Salut !J'aimerais savoir s'il est possible d'ouvrir un fichier EXCEL à partir d'une IHM en java, le fichier à ouvrir étant sélectionné grâce à la boît


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,343 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é.