[swing] cherche un composant arbre avec des noeuds graphiques

cherche un composant arbre avec des noeuds graphiques [swing] - Java - Programmation

Marsh Posté le 16-07-2004 à 15:58:57    

Bonjour,
 
Je cherche un composant swing (ou AWT, voir SWT mais je prefererais swing), qui permettent de définir un arbre graphiquement dont les noeuds sont des composants graphique que l'on peut paramétrer.   :love:  
 
Le JTree ne permet pas ça, je crois ?
 
En fait, j'aimerais mettre un peu ce que je veux dans les noeuds.
Quelqu'un a une idée ?

Reply

Marsh Posté le 16-07-2004 à 15:58:57   

Reply

Marsh Posté le 16-07-2004 à 16:00:35    

oui. le JTree est là pour ça
 
http://www.apl.jhu.edu/~hall/java/ [...] JTree.html


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 16-07-2004 à 16:55:08    

Ouai mais j'ai pas vu d'exemple où à la place (d'un icône et) d'un texte pour représenter le noeud, on avait par exemple un JPanel qui contient des champs textes ou autres tout ça pour un élements ...

Reply

Marsh Posté le 16-07-2004 à 17:04:20    

Euh un TreeCellRenderer renvoie un objet Component, donc tu peut afficher ce que tu veux.
Prends un example qui renvoie un JLabel et remplace par l'objet que tu veux.


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

Marsh Posté le 16-07-2004 à 17:16:09    

Si c'est vrai c'est vraiment bien. Je vais voir ce que je peux faire ...

Reply

Marsh Posté le 17-07-2004 à 10:26:40    

g des icones personnalisées à tous mes noeuds dans mon arbres...l'icone varie même selon que le noeud soit fermé ou ouvert...


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 19-07-2004 à 10:34:27    

Voilà, j'ai fait une classe JPanel pour implémenter l'interface TreeCellRenderer.
 
Je vous montre le code :
 

Code :
  1. class MyRenderer  extends JPanel implements TreeCellRenderer {
  2. JLabel name=new JLabel("name" );
  3. JCheckBox withContent=new JCheckBox("Content" );
  4. JCheckBox withTags=new JCheckBox("Tags" );
  5. GridLayout layout=new GridLayout(1,3);
  6. public MyRenderer() {
  7.  layout.setHgap(5);
  8.  setLayout(layout);
  9.  add(name);
  10.  add(withContent);
  11.  add(withTags);
  12.  withContent.addActionListener(new ActionListener() {
  13.   public void actionPerformed(ActionEvent ae) {
  14.    System.out.println("action performed mon gars" );
  15.   }
  16.  });
  17. }
  18. public Component getTreeCellRendererComponent(JTree itsTree,Object value,boolean selected,boolean expanded,boolean leaf,int row,boolean hasfocus) {
  19. //  super.getTreeCellRendererComponent(itsTree,value,selected,expanded,leaf,row,hasfocus);
  20.  setPreferredSize(new Dimension(250,20));
  21.  setBackground(Color.red);
  22.  return this;
  23. }
  24. }


 
Voici ce que ça donne :
 
[img]file:/home/CLERMONT/arbre.bmp[/img]
 
Le problème, c'est que l'action Listener sur le checkBox ne marche pas, vu que les événements doivent être géré plus haut dans le JTree (qui appelle getTreeCellRendererComponent dans le cas de modification d'une cellule).
 
Si vous saviez comment je pourrais faire, pour récupérer des clicks sur mes checkBox et les affecter au modèle du JTree, je serais un homme très heureux ...
 
 

Reply

Marsh Posté le 19-07-2004 à 10:39:04    

Je retransmet l'image.
 
[img]/home/CLERMONT/arbre.bmp[/img].
 
Si c'est pas bon, je la décrit :
 
Chaque cellule est un JPanel managé par GridLayout(1,3)
A gauche se trouve un JLabel, au milieu un JCheckBox, à droite un JCheckBox aussi.
 
Toutes les cellules de l'arbre seront comme ça.

Reply

Marsh Posté le 19-07-2004 à 10:45:56    

FarookFreeman a écrit :


[img]/home/CLERMONT/arbre.bmp[/img].


 :D


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 19-07-2004 à 11:01:04    

faut l'uploader sur un server web toi même...le forum ne gère pas cette fonction...


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 19-07-2004 à 11:01:04   

Reply

Marsh Posté le 19-07-2004 à 11:04:25    

ici par exemple : http://imageshack.us/


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 19-07-2004 à 11:39:30    

Ca y est j'y suis, fallait que ke je me mettes en passif.
 
Là ça devrait être bon maintenant !!!   :pt1cable:  
 
http://membres.lycos.fr/farookfreeman/MonTetris/arbre2.bmp

Reply

Marsh Posté le 19-07-2004 à 16:26:53    

Alors ? Y a t-il un boss qui pourrait m'aider ?

Reply

Marsh Posté le 19-07-2004 à 16:38:58    

et quel est le pb ?
sinon c sale ce que tu fais un peu qd même


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 19-07-2004 à 17:10:31    

Ba le problème c'est que je n'arrive pas à cocher/décocher les checkBox.
 
Oui c'est sale parce c'est qu'un début. Je le modifierais après. ^^

Reply

Sujets relatifs:

Leave a Replay

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