[JAVA] probleme graphique avec mes JTree !!!!

probleme graphique avec mes JTree !!!! [JAVA] - Java - Programmation

Marsh Posté le 03-06-2002 à 11:24:56    

salut a vous tous,
 
j ai cree un JTree et une fonction qui ajoute des noeuds(dossiers) avec des feuilles (fichiers).
 
j ai ajouter deux boutons : l un pour creer un dossier+1 fichier
et l autre pour creer 1 dossier et plusieurs fichiers ds celui ci..
 
lorsque je clique indifferemment sur l un ou l autre il n y a pas de probleme. Mais une fois que je developpe mon dossier Root et que j ajoute d autres fichiersdans mon dossier j ai un decalage qui se cree comme suit ?? :
 
http://www.linterweb.com/demo_log/exemple.jpg
 
 
je ne comprends pas pourkoi j ai des decalages comme ca ???
est ce que vous savez pourkoi ??
 
 
merci pour vos reponses...
titi ;-}

Reply

Marsh Posté le 03-06-2002 à 11:24:56   

Reply

Marsh Posté le 03-06-2002 à 14:33:07    

Balance ton code, qu'on puisse y comprendre quelquechose, paske moi, j'ai jamais eu ce problème, et je me demande bien doù ça vient ...

Reply

Marsh Posté le 03-06-2002 à 16:39:25    

ok voici mon code source:
declaration des variables en globale:
private DefaultMutableTreeNode noeudPrincipal;
 private DefaultTreeModel modelTree;
 private JTree hashTree;
 private DefaultMutableTreeNode nouvDossier;
 private String SELECTION;
 private Vector vecteur;
 
voici le code
public void ajoutSite(String theme, String site, String titre)
 {
  int i = 0;
  boolean pastrouve = true;
  DefaultMutableTreeNode dossier;
  hashTree.collapseRow(0);
  while (pastrouve && i < noeudPrincipal.getChildCount())
  {
   
   if (noeudPrincipal.getChildAt(i).toString().compareTo(theme) == 0)
   {
    vecteur.addElement(theme +'|'+"rien" );
    dossier = null;
    dossier = (DefaultMutableTreeNode) noeudPrincipal.getChildAt(i);
    //ajout d'un dossier
    modelTree.insertNodeInto(dossier,noeudPrincipal, 0);
    modelTree.insertNodeInto(new DefaultMutableTreeNode(titre),dossier, 0);
    pastrouve = false;
   }
   i++;
  }
   
  if (pastrouve)
  {
   vecteur.addElement(theme +'|'+"rien" );
   dossier = new DefaultMutableTreeNode(theme);
 
   //ajout d'un dossier
   modelTree.insertNodeInto(dossier,noeudPrincipal, 0);
   modelTree.insertNodeInto(new DefaultMutableTreeNode(titre),dossier, 0);
  }
   
  vecteur.addElement(theme + '|' + site + '|' + titre);
 
  hashTree.expandRow(0);
  hashTree.invalidate();
   
 }
 
voila merci pour vos coup d oeil...
titi ;-}

Reply

Marsh Posté le 04-06-2002 à 10:22:16    

c bon j ai trouve koi faire,
merci a vous.....
titi

Reply

Marsh Posté le 04-06-2002 à 10:22:44    

voila la soluce
((DefaultTreeModel )this.getModel()).nodeStructureChanged((TreeNode)dmtn);

Reply

Marsh Posté le 11-06-2002 à 14:51:56    

ok! De rien  ;)

Reply

Marsh Posté le 17-06-2002 à 13:36:43    

Et pour éviter que le JTree fasse "collapse" à chaque ajout de noeud, on peut faire aussi :
    this.hashTree.treeDidChange();

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed