Utilisation d'un jfilechooser

Soyez le premier à donner votre avis sur cette source.

Snippet vu 68 648 fois - Téléchargée 29 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

Messages postés
3
Date d'inscription
lundi 30 avril 2012
Statut
Membre
Dernière intervention
8 mai 2013

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
Messages postés
1
Date d'inscription
mercredi 20 juillet 2011
Statut
Membre
Dernière intervention
13 janvier 2013

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.
Messages postés
8
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
28 février 2012

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
Messages postés
1
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
24 février 2010

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 ;)
Messages postés
14
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
7 juin 2009

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.