Accueil de l'archive Service proposé par Hervé AGNOUX

From:           	Ogé Nathalie <Nathalie.Oge@ouest-france.fr>
To:             	java@u-strasbg.fr
Subject:        	JTree avec noeuds invisibles?
Date sent:      	Thu, 24 Feb 2000 17:42:55 +0100
Send reply to:  	java@u-strasbg.fr

Bonjour,

Existe t-il un JTree qui permettrait de masquer certains noeuds à
l'affichage ?

Merci

     

Date sent:      	Thu, 24 Feb 2000 18:04:25 +0100
From:           	wmatter <wmatter@nagora.com>
Send reply to:  	wmatter@calva.net
Organization:   	Nagora Communication
To:             	java@u-strasbg.fr
Subject:        	Re: JTree avec noeuds invisibles?

> Existe t-il un JTree qui permettrait de masquer certains noeuds à
> l'affichage ?

Aussi simple qu'implémenter le treecellrenderer :
tu décides de ne rien afficher,
de mettre une icone "blank" etc etc

Je l'ai fait, ca marche.

willfried

     

Date sent:      	Fri, 25 Feb 2000 09:53:08 +0100
From:           	wmatter <wmatter@nagora.com>
Send reply to:  	wmatter@calva.net
Organization:   	Nagora Communication
To:             	Adam Benoît <benoit.adam@ouest-france.fr>,
       	"java@u-strasbg.fr" <java@u-strasbg.fr>
Subject:        	Re: JTree avec noeuds invisibles

> >Aussi simple qu'implémenter le treecellrenderer :
> >tu décides de ne rien afficher,
> >de mettre une icone "blank" etc etc
> >Je l'ai fait, ca marche.

> On a deja utilise les TreeCellRenderer et en particulier
> les DefaultTreeCellRenderer. Ce que je ne comprends pas
> dans ce que tu dis c'est que si tu mets une icone "blank"
> effectivement tu ne vas rien voir mais tu vas avoir une "ligne blanche"
> dans l'arbre non ? Mais j'aimerai vraiment ne rien avoir. Alors j'ai
> deja reflechi au fait de redefinir chidren() ...mais je me demandais si
> tu avais plus simple ... Ta solution est peut etre bonne quand meme,
> j'attends tes explications ...

J'ai déja implémenté des renderer de noeud d'arbre du style :
public class TreeMultiLineCellRenderer extends JPanel implements
TreeCellRenderer

- affichage de texte sur plusieurs lignes
- variation de la couleur du texte
- non affichage de texte
- changement de l'icone

Une icone "blank", c'est pour moi une icone neutre ou blanche.

Par contre le noeud existe,
tu le masques ou le neutralises,
mais il a sa place dans l'arbre entre son pére et ses fils.
Et tu veux "éliminer" le noeud de la structure

Pour ne rien avoir :
- tu computes le oldModel original de ton tree
  pour éliminer les noeuds "inutiles"
  tu obtiens un newModel
- tu recharges le nouveau model dans le tree

ca pourrait donner

tree.setModel(newModel);
((DefaultTreeModel)tree.getModel()).reload();

willfried Matter


>


C'est fini ! Retour à l'accueil de la pseudo-archive