Partage
  • Partager sur Facebook
  • Partager sur Twitter

Perdu dans les JTree

    26 novembre 2008 à 20:41:24

    Bonjours

    Je viens vers vous car j'ai des soucis de compréhension pour l'utilisation des JTree.

    Je me fais un ptit programme qui à pour zone Ouest mon Jtree, et zone centre des Options.
    Je ne souhaite afficher qu'un dossier précis(pour l'instant renseigné pour les tests) et jusqu'à 2 sous-dossier et les fichiers dans le dernier dossier.
    Voici le code crée (qui fonctionne sans soucis)

    File DossierAccueil = new File("Mes Projets");
    		if (DossierAccueil.isDirectory() == false) {
    			DossierAccueil.mkdir();
    		}
    		
    		// Recupération de la racine
    		DefaultMutableTreeNode Racine = new DefaultMutableTreeNode(
    				"Mes Projets");
    		// Si le dossier Projet comporte des élements.
    		if (DossierAccueil.list().length != 0) {
    
    			// On recupere les dossiers de projet et on les rajoutes au dossier
    			// Projet.
    			String[] DossierProjet = new String[DossierAccueil.list().length];
    			DossierProjet = DossierAccueil.list();
    			for (String s : DossierProjet) {
    				DefaultMutableTreeNode RepertoireProjet = new DefaultMutableTreeNode(s);
    				Racine.add(RepertoireProjet);
    
    				
    				File DossierPackage = new File("Mes Projets" + File.separator
    						+ s);
    				if (DossierPackage.list().length != 0) {
    
    					
    					String[] DossierPack = new String[DossierPackage.list().length];
    					DossierPack = DossierPackage.list();
    					for (String s2 : DossierPack) {
    						DefaultMutableTreeNode RepertoirePackage = new DefaultMutableTreeNode(s2);
    						RepertoireProjet.add(RepertoirePackage);
    
    						
    						File Fichier = new File("Mes Projets" + File.separator
    								+ s + File.separator + s2);
    						if (Fichier.list().length != 0) {
    
    							
    							
    							String[] FichiersClass = new String[Fichier.list().length];
    							FichiersClass = Fichier.list();
    							for (String s3 : FichiersClass) {
    								DefaultMutableTreeNode FichiersClasse = new DefaultMutableTreeNode(s3);
    								RepertoirePackage.add(FichiersClasse);
    							}
    						}
    					}
    				}
    			}
    		}
    }
    


    Si je met ce code dans ma JFrame, il m'affiche tout correctement.... seulement quand je le met dans une classe et méthode pour le créer (en envoyant bien le JTree), il ne me fait plus rien.

    D'où la naissance de plusieurs questions :
    1 - Comment faire pour mettre à jour mon JTree sans avoir à relancer le programme ?(Imaginons un bouton "refresh" qui instancie un objet avec une méthode permettant de rafraichir mon arbre)
    2 - Comment faire pour créer mon JTree en dehors de ma fenêtre ?

    3 - Il semblerait que tout mes soucis pourraient trouver une réponse en utilisant une classe de modele pour le JTree... seulement je ne trouve guère d'aide sur le web.
    Quelqu'un connaitrait-il un bon tuto ou aurait-il la possibilité de me montrer une classe de modele pour JTree (même très basique)

    En vous remerciant
    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2008 à 22:26:28

      Bon je remonte ce sujet après quelques jours sans réponses.

      Je vais essayer de juste me concentrer sur le sujet principal.

      J'ai un JTree que j'affiche sans soucis dans ma fenêtre principale.
      Je passe par une autre fenêtre pour créer un nouveau dossier.
      J'arrive à créer le dossier sans soucis dans ma 2eme fenêtre mais je souhaiterais mettre à jour mon JTree et c'est là que je rencontre un soucis.

      D'où ma question :
      Comment puis-je actualiser mon JTree ?
      Faut-il que je le reconstruise ?
      Faut-il que je l'envoi à ma 2eme fenêtre ?
      Faut-il que je récupère le dossier et que je le mette dans mon JTree dans ma fenêtre principale ?
      Autre ?

      J'attend vos conseils.
      • Partager sur Facebook
      • Partager sur Twitter

      Perdu dans les JTree

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown