Utilisation d'un jfilechooser

Soyez le premier à donner votre avis sur cette source.

Snippet vu 69 830 fois - Téléchargée 31 fois

Contenu du snippet

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 / Exemple :


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

A voir également

Ajouter un commentaire Commentaires
cs_farefoucha Messages postés 3 Date d'inscription lundi 30 avril 2012 Statut Membre Dernière intervention 8 mai 2013
8 mai 2013 à 11:34
Bonjour svp je suis débutante en java et j'ai un projet ,je veux créer un bouton importer ,qui sert à importer un fichier excel vers un jTable ou je peux (modifier ,ajouter etc) ,j'ai vraiment besoin de help d'avance merci
thandorsnake Messages postés 1 Date d'inscription mercredi 20 juillet 2011 Statut Membre Dernière intervention 13 janvier 2013
13 janv. 2013 à 17:28
pour ceux qui recherche une solution plus rapide :
se code est tester et fonctionnel sous netbean 7.2 :

// je ne suis pas sur pour les imports mais ils vous seront demander après la copie du code dans netbean par exemple.
import javax.swing.tree.DefaultMutableTreeNode;

public class Principal extends javax.swing.JFrame {

private DefaultMutableTreeNode racine;
private JTree arbre;

public Principal() {
initComponents();

// insertion de l'arbre qui va être créé dans le jTree intégré au design
listRoot(VotreJTree);
}

private void listRoot(JTree monJtree){
this.racine = new DefaultMutableTreeNode();

for(File file : File.listRoots()){
DefaultMutableTreeNode lecteur = new DefaultMutableTreeNode(file.getAbsolutePath());
try {
for(File nom : file.listFiles()){
DefaultMutableTreeNode node = new DefaultMutableTreeNode(nom.getName()+"\");
lecteur.add(this.listFile(nom, node));
}
} catch (NullPointerException e) {}

this.racine.add(lecteur);
}
//Nous créons, avec notre hiérarchie, un arbre
JTree unArbre = new JTree(this.racine);
monJtree.setModel(unArbre.getModel());
}
private DefaultMutableTreeNode listFile(File file, DefaultMutableTreeNode node){
int count = 0;

if(file.isFile())
return new DefaultMutableTreeNode(file.getName());
else{
File[] list = file.listFiles();
if(list == null)
return new DefaultMutableTreeNode(file.getName());

for(File nom : list){
count++;
//Pas plus de 5 enfants par noeud
if(count < 5){
DefaultMutableTreeNode subNode;
if(nom.isDirectory()){
subNode = new DefaultMutableTreeNode(nom.getName()+"\");
node.add(this.listFile(nom, subNode));
}else{
subNode = new DefaultMutableTreeNode(nom.getName());
}
node.add(subNode);
}
}
return node;
}
}

et voilà, c'est le code d'un ami mais vu que j'ai aussi pas mal recherché sur le web, je vous le transmet.

ah, aussi, rien besoin dans le main.
mimaema Messages postés 8 Date d'inscription vendredi 22 avril 2011 Statut Membre Dernière intervention 28 février 2012
17 févr. 2012 à 15:19
Bonjour , j'ai besoin de récupérer plusieurs fichiers au lieu d'un seul , et c'est ma première expérience avec JFileChooser !

merci d'avance
cs_inconnu26 Messages postés 1 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 24 février 2010
24 févr. 2010 à 00:27
ne pourrait on pas ecrire tout simplement :

//***********************************************************************

if(!ChoixFS.getSelectedFile().getAbsolutePath().endsWith(".txt")){
//ici throws error ou reagit au fait que ca nest pas au bon format
}

//***********************************************************************

...?

merci ;)
khaledinfor Messages postés 14 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 7 juin 2009
14 janv. 2009 à 14:46
salut
tré bien
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.