Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1223 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JTree et renderer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JTree et renderer

n°1038901
ponponben
Posté le 07-04-2005 à 15:08:39  profilanswer
 

Encore une nouvelle qestion, ;)
Je voudrais modifier le renderer de mon JTree pour que si dans l'arboressance dessandante il y ai une valeur donnée (Ko dans mon cas), il affiche le noeud en rouge.
 ROOT
  |
  |
  NOEUD(ROUGE)
   |         |
   |         |
   |         |
   |         VALEUR KO
   |
  NOEUD(NORMAL)
   ...
 
 
Je sais que je doit modifier public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected,boolean expanded,boolean leaf, int row,boolean hasFocus) mais 2 problemes se pose a moi.  
1 Je ne veux pas perdre le rendu actuel, 2 je ne voit pas comment lui dire de mettre les parents en rouge.
 
Je sais que c'est pas evident mais si vous avez des IDs ;)

mood
Publicité
Posté le 07-04-2005 à 15:08:39  profilanswer
 

n°1039154
nraynaud
lol
Posté le 07-04-2005 à 17:14:42  profilanswer
 

tu fais une fonction qui dit si un noeud possède un fils qui est ko, et si c'est le cas, tu affiches en rouge [:spamafote]


---------------
trainoo.com, c'est fini
n°1039157
nraynaud
lol
Posté le 07-04-2005 à 17:15:25  profilanswer
 

(enfin, je veux dire par là qu'il n'y a pas de feinte particulière)


---------------
trainoo.com, c'est fini
n°1039793
ponponben
Posté le 08-04-2005 à 10:51:17  profilanswer
 

Voila a quoi j'arrive pour le moment, mais ce n'est pas encore super. Seul le noeud qui contient la valeur ne ce met a jaune.
 
private class MyTreeCellRenderer extends DefaultTreeCellRenderer
    {
      public Component getTreeCellRendererComponent(JTree tree, Object value,
                                                    boolean sel,
                                                    boolean expanded,
                                                    boolean leaf, int row,
                                                    boolean hasFocus)
      {
 
        Component cComponent = super.getTreeCellRendererComponent(tree, value, sel,
            expanded, leaf, row, hasFocus);
        //String text = tree.convertValueToText(value, sel,expanded, leaf, row, hasFocus);
        DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode)value;
        if(dmtn.getUserObject().toString().contains("100" ))
        {
          setColorParent(dmtn);
        }
        return cComponent;
      }
       
      private void setColorParent(DefaultMutableTreeNode pm_dmtnNode)
      {
        if(pm_dmtnNode==null)return;
 
        String s = pm_dmtnNode.getUserObject().toString();
        JLabel l = new JLabel(s);
        l.setForeground(Color.RED);
        pm_dmtnNode.setUserObject(l);
        System.out.println("pm_dmtnNode.getUserObject().toString()=" + pm_dmtnNode.getUserObject().toString());
        this.setForeground(Color.black.YELLOW);
        setColorParent(pm_dmtnNode.getPreviousNode());
      }
    }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JTree et renderer

 

Sujets relatifs
JTreeJTree et texte tronqué..
JTREE utilisation de JTree.AccessibleJTree et de setVisible[Java] Jtree : récupérer le noeud qui a le focus...
JTree, arborescences et rafraichissementLe bouton et le Renderer du JComboBox
Comment savoir ,dans une JTree, si le fichier selectionné est ouvert ?Jtree x Custom CellRenderer x CardPanel -> Memoire qui explose
JTree avec arborescence de la machine[SWING] IHM et JTREE
Plus de sujets relatifs à : JTree et renderer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR