cs_polo12
Messages postés15Date d'inscriptionmardi 15 octobre 2002StatutMembreDernière intervention29 octobre 2010
-
30 nov. 2002 à 22:12
cs_farefoucha
Messages postés3Date d'inscriptionlundi 30 avril 2012StatutMembreDernière intervention 8 mai 2013
-
8 mai 2013 à 11:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_farefoucha
Messages postés3Date d'inscriptionlundi 30 avril 2012StatutMembreDerniè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és1Date d'inscriptionmercredi 20 juillet 2011StatutMembreDernière intervention13 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 {
// 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és8Date d'inscriptionvendredi 22 avril 2011StatutMembreDernière intervention28 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és1Date d'inscriptionmercredi 24 février 2010StatutMembreDernière intervention24 février 2010 24 févr. 2010 à 00:27
//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>();
}
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);
liquideshark
Messages postés32Date d'inscriptionmercredi 2 août 2006StatutMembreDernière intervention29 mai 2007 5 mars 2007 à 22:46
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";
}
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 5 mars 2007 à 16:12
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.
+
spyder92
Messages postés5Date d'inscriptionsamedi 2 décembre 2006StatutMembreDernière intervention14 mars 2007 5 mars 2007 à 10:41
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!
liquideshark
Messages postés32Date d'inscriptionmercredi 2 août 2006StatutMembreDernière intervention29 mai 2007 5 mars 2007 à 01:34
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!
kiholo
Messages postés2Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention 5 février 2007 5 févr. 2007 à 13:49
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
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 25 déc. 2006 à 22:19
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 +
Mikonyx
Messages postés76Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention 1 septembre 2004 24 mai 2006 à 20:58
Pseudal > regardes dans les méthodes de l'API de la classe JFileChooser, c'est en effet possible :)
pseudal
Messages postés12Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention10 mars 2006 22 mai 2006 à 15:35
Un code clair et simple comme je les aime !!!!
Petite question est il possible de pouvoir sélectionner un dossier et non un fichier !!!
cs_laugui
Messages postés1Date d'inscriptionjeudi 2 décembre 2004StatutMembreDernière intervention 6 mars 2006 6 mars 2006 à 17:59
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
MatFromPo
Messages postés1Date d'inscriptionmardi 23 août 2005StatutMembreDernière intervention23 août 2005 23 août 2005 à 20:58
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.
cs_prey
Messages postés7Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention21 mai 2003 30 mai 2003 à 09:40
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.
cs_polo12
Messages postés15Date d'inscriptionmardi 15 octobre 2002StatutMembreDernière intervention29 octobre 2010 30 nov. 2002 à 22:12
8 mai 2013 à 11:34
13 janv. 2013 à 17:28
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.
17 févr. 2012 à 15:19
merci d'avance
24 févr. 2010 à 00:27
//***********************************************************************
if(!ChoixFS.getSelectedFile().getAbsolutePath().endsWith(".txt")){
//ici throws error ou reagit au fait que ca nest pas au bon format
}
//***********************************************************************
...?
merci ;)
14 janv. 2009 à 14:46
tré bien
6 mars 2007 à 12:59
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. +
5 mars 2007 à 22:46
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";
}
}
..................................................................
5 mars 2007 à 16:12
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.
+
5 mars 2007 à 10:41
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!
5 mars 2007 à 01:34
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!
5 févr. 2007 à 13:49
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
25 déc. 2006 à 22:19
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 +
24 mai 2006 à 20:58
22 mai 2006 à 15:35
Petite question est il possible de pouvoir sélectionner un dossier et non un fichier !!!
6 mars 2006 à 17:59
Que demander de plus clair et efficace ?!
merci
23 août 2005 à 20:58
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.
30 mai 2003 à 09:40
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.
30 nov. 2002 à 22:12