cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004
-
1 juil. 2004 à 12:14
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004
-
5 juil. 2004 à 14:37
Bonjour,
Je suis en stage actuellement et je dois faire une arborescence des fichiers d'un ordi avec des checkboxs devant chaque dossier et sous dossier.
Mon arborescence fonctionnne mais je n'arrive pas à rajouter les checkboxs devant. Quelqu'un pourrait me dire comment je peux coder en rajout de checkbox pendant mon exploration du disque dur??
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 1 juil. 2004 à 15:27
Merci pour ta réponse
Mais je ne comprends pas comment ça marche. De plus j'ai regardé la doc dessus mais ça n'a pas l'air de convenir à ce que je cherche à faire
Parce que moi je voudrais qu'il y ait toujours dans mon arborescence les images de dossiers et de fichiers avec dc des checkboxs devant alors qu'avec setCellRenderer il remplace par des cases à cocher les images
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 1 juil. 2004 à 16:34
Merci bien mais je ne croispas que ça marche car les images de dossiers sont créées automatiquement par java. Je ne vois pas d'où elles sortent.
Si tu regarde mon code je ne gere aucune image donc je ne vois pas comment faire
Voici mon code:
public class Exploration2 extends JFrame {
private JScrollPane scrollpane;
public Exploration2() {
int i;
File[] lecteurs;
JTree arbre = new JTree();
/* création d'un noeud */
DefaultMutableTreeNode racine = new DefaultMutableTreeNode("Poste de travail");
//JCheckBox jojo = new JCheckBox();
lecteurs=File.listRoots();
for(i=0;i<lecteurs.length;i++)
{
/* crée un checkbox pour chaque lecteur */
JCheckBox jcb = new JCheckBox();
/* créé un noeud pour chaque lecteur */
DefaultMutableTreeNode noeud = new DefaultMutableTreeNode(lecteurs[i]);
/* créé l'arborescence pour chaque lecteur*/
ajout_dossier(lecteurs[i],noeud);
/* ajouter le lecteur avec son arborescence au noeud racine*/
racine.add(noeud);
}
/* model de l'arbre */
DefaultTreeModel model =new DefaultTreeModel(racine);
arbre.setModel(model);
/*ajouter l'arbre à la JFrame*/
getContentPane().add(arbre);
// ajout du JTree au formulaire pour permettre la mise en place d'onglets sur les cotés
scrollpane = new JScrollPane();
getContentPane().add(scrollpane, BorderLayout.CENTER);
scrollpane.getViewport().add(arbre, null);
/**************************************************************************
* nom : ajout_dossier *
* rôle : ajouter les dossiers et fichiers d'un lecteur *
**************************************************************************/
public void ajout_dossier(File lecteur,DefaultMutableTreeNode noeud)
{
int i;
File[] liste;
/* listFiles retourne tous les nom de fichiers et de sous-répertoires contenu dans un répertoire*/
liste=lecteur.listFiles();
try
{
for(i=0;i<liste.length;i++)
{
/* on teste si c'est un répertoire */
if(liste[i].isDirectory()==true)
{
/* si tel est le cas on crée un nouveau noeud */
DefaultMutableTreeNode sous_rep = new DefaultMutableTreeNode(liste[i]);
/*que l'on ajoute au noeud précédent */
noeud.add(sous_rep);
/* et on regarde le contenu de ce nouveau répertoire méthode récursive */
ajout_dossier(liste[i],sous_rep);
}
/* si ce n'est pas un dossier c'est donc un fichier que l'on va donc gréffer au noeud courant*/
else
noeud.add(new DefaultMutableTreeNode(liste[i]));
}
}
catch(NullPointerException e)
{
//exception que l'on obtient lorsqu'il n'y a plus de répertoire ou de fichier
}
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 5 juil. 2004 à 12:06
Bonjour,
Je suis allé voir l'exemple mais contrairement donc à l'exemple moi je ne rentre pas en dur les infos de mon arbre mais je fais plutot un File.listRoots pour avoir la liste de disques durs de l'ordi et je ne peux pas faire un :
lecteurs = File.listRoots();
JCheckBox bouton ;
bouuton = new JCheckBox(lecteurs[i]);
il n'aime pas du tout car il aurait préféré que ce soit un string.
Quelqu'un pourrait il m'aider à faire fonctionnner ce prog ?
---------------------------------------------------------------------
le pouvoir appartient à ce qui détienne l'information, culture et connaissance pour élargir ton champ vision ....
---------------------------------------------------------------------
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 5 juil. 2004 à 13:05
Rein ne t'empeche de combiner les deux...
tu retorunes une string a la place de l'editor checkbox...
-------------------
>:) dams >:)
-------------------
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 5 juil. 2004 à 13:22
euh comment on fait ça ?
---------------------------------------------------------------------
le pouvoir appartient à ce qui détienne l'information, culture et connaissance pour élargir ton champ vision ....
---------------------------------------------------------------------
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 5 juil. 2004 à 13:24
si je fais comme t'as dit je pourrais tjrs afficher mes checkbox ?
----------------------------------------------------------------------
le pouvoir appartient à ce qui détienne l'information, culture et connaissance pour élargir ton champ vision ....
----------------------------------------------------------------------
noeudParent = new DefaultMutableTreeNode("Datas");
JCheckBox jcb = null;
for (int i = 0; i < tableau.length; i++) {
jcb = new JCheckBox(tableau[i]);
jcb.setBackground(Color.white);
noeudEnfant = new DefaultMutableTreeNode(jcb, true);
noeudParent.add(noeudEnfant);
}
arbo = new JTree(noeudParent);
RenduComposant rc = new RenduComposant();
EditComposant ec = new EditComposant();
arbo.setCellRenderer(rc);
arbo.setCellEditor(ec);
arbo.setEditable(true);
getContentPane().add(new JScrollPane(arbo));
}
}
class RenduComposant
extends DefaultTreeCellRenderer {
cs_lorenzo972
Messages postés28Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention24 août 2004 5 juil. 2004 à 14:37
Merci, c'est sympa ça me permets de bien avancer.
Mais en fait moi je ne peux pas mettre ma liste des disques durs dans un tableau de string comme toi tu y rentres les chiffres en dur.
moi je suis obligé de faire:
lecteurs = File.listRoots;
et avec ça je ne peux pas faire :
JChexkBox jcb = new JCheckBox(lecteurs[i]);
ça souligne le new et je ne comprends pas pourkoi?
ça me dit qu'il y a un prob pour la construction
---------------------------------------------------------------------
le pouvoir appartient à ce qui détienne l'information, culture et connaissance pour élargir ton champ vision ....
----------------------------------------------------------------------