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

  FORUM HardWare.fr
  Programmation
  Java

  [Swing][jtree]Problemes d'icones....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Swing][jtree]Problemes d'icones....

n°693283
wassimb
Posté le 06-04-2004 à 10:51:00  profilanswer
 

voilà ce que je desire:  
possedant par exemple un telle jtree  
ListesUser  
|__Forum_java  
| |__J  
| |__wassimb  
|  
|__Forum_Vb  
  |__x  
  |__y
  |....  
Pour J et wassimb ces derniers apartienent au forum java ==>j'insere une icone(x)  
Pour x et y ces derniers apartienent au forum VB ==>j'insere une icone(y)  
le probleme reside au fait que je n'ai pas trouver comment faire pour tester  
sur le parent de la feuille(cad:if(feuille appartient noeud Forum_java)==>insere icone(x)  
if(feuille appartient noeud Forum_Vb)==>insere icone(y))  
Comment Faire alors ?  
j'ai realiser mon jtree mais je n'ai pas su comment integer des test dans cette class pour y ajouter des icones comme je desire Voila ma class:

Code :
  1. public class RenduArbre extends JPanel implements TreeCellRenderer,MouseMotionListener
  2. {
  3.   private Icon icone;
  4.   private int rowSelection = -1;
  5.   public RenduArbre(Icon icone)
  6.   {
  7.      super(new FlowLayout());
  8.      this.icone = icone;
  9.   }
  10.   public Component getTreeCellRendererComponent(JTree tree, Object value,
  11.         boolean selected, boolean expanded, boolean leaf, int row,
  12.         boolean hasFocus)
  13.   {
  14.      this.removeAll();
  15.    
  16.    if(leaf)
  17.      {
  18.         JLabel labelIcone = new JLabel(this.icone);
  19.         this.add(labelIcone);
  20.      }
  21.    if(value != null)
  22.      {
  23.         JLabel labelTexte = new JLabel(String.valueOf(value));
  24.         if(selected)
  25.         {
  26.            labelTexte.setForeground(Color.red);
  27.         }
  28.         else
  29.         {
  30.            labelTexte.setForeground(Color.black);
  31.         }
  32.         if(row == this.rowSelection)
  33.         {
  34.            this.setBackground(Color.cyan);
  35.         }
  36.         else
  37.         {
  38.            this.setBackground(Color.white);
  39.         }
  40.         this.add(labelTexte);
  41.      }
  42.      return this;
  43.   }
  44.      arbre.repaint();
  45.   }
  46. }


Je compte sur vous ...  
Merci d'avance

mood
Publicité
Posté le 06-04-2004 à 10:51:00  profilanswer
 

n°693308
nerisson
Pic-pic
Posté le 06-04-2004 à 11:01:02  profilanswer
 

Il faut que rajoutes un test sur le type ou la valeur du parametre value dans la methode getTreeCellRendererComponent().
En fonction du resultat de ce test tu mets l'icone correspondant.


---------------
Light is right
n°693318
wassimb
Posté le 06-04-2004 à 11:04:39  profilanswer
 

Je ne veut pas tester sur la contenu de la valeur mais sur l'appartenace de la feuille :A quel noeud elle appartient...

n°693342
nerisson
Pic-pic
Posté le 06-04-2004 à 11:20:48  profilanswer
 

OK, donc tu as 2 solutions differentes:
 - soit tu mets un type d'objet different pour chaque noeud et tu fait un test sur le type de l'objet pour savoir quel icone afficher dans la methode getTreeCellRendererComponent
 - soit tu recherches quel est le noeud parent de ton objet value pour savoir quel icone afficher
Personnelement je prefere la premiere methode.
Quel est le type d'objet que tu mets comme noeud de ton arbre ?


---------------
Light is right

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

  [Swing][jtree]Problemes d'icones....

 

Sujets relatifs
deux tits problemes sur du Xhtml[swing][jtree]Inserer des icon+curseur personaliser+changement couleur
Problème de positionnement [maj : solutions à deux problèmes]Problèmes avec forum phpbb
[HTACCESS] Des problemes avec SetEnvIfNoCase[swing] jai une qestion apropos de ActionEvent event
[ IHM ] - Où trouver de jolies icones de menu ?jtree correction
Jtree info 
Plus de sujets relatifs à : [Swing][jtree]Problemes d'icones....


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