begin process at 2012 02 15 17:11:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

[JTree] taille de l'affichage du texte d'un noeud


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[JTree] taille de l'affichage du texte d'un noeud

vendredi 9 juin 2006 à 12:25:33 | [JTree] taille de l'affichage du texte d'un noeud

cbil


Bonjour,

Je souhaite modifier l'affichage du texte des noeuds d'un JTree selon le choix de l'utilisateur.

Pour cela j'utilise setUserObject pour chaque noeud en recreeant ce dernier par le nouveau texte.
Ensuite je fais un updateUI pour le rafraichissement.

Tout fonctionne sauf que si le texte depasse la taille de l'ancien texte, il n'est pas affiché entierement (se termine par '...') meme si il y a de la place pour l'affichage (en plus mon JTree est dans une JScrollPane)

En creant completement un Arbre ca fonctionne car le noeud (largeur) prend la taille du texte (donc pas de remplacement par les '...') mais par un changement sans recréation, ca ne modifie pas la taille de creation de base.

Y a-t-il une méthode pour résoudre ce problème ? je n'en ai pas trouvé, mais je galère un peu avec les noms des méthodes des Arbres.

Le DefaultMutableTreeNode est recréé dans le setUserObject.

Merci
Cbil

vendredi 9 juin 2006 à 12:29:14 | Re : [JTree] taille de l'affichage du texte d'un noeud

cbil


Je viens de remarquer un truc par contre. Pour le texte de la racine, il n'y a pas de problème, la taille de l'affichage du texte du noeud s'est correctement agrandi (pas de remplacement avec les '...' )

a+
vendredi 9 juin 2006 à 12:57:51 | Re : [JTree] taille de l'affichage du texte d'un noeud

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

regarde du coté de DefaultTreeCellRenderer redefini le et fai ton petit job dedans perso je ne sais pas si ca fonctionne avec des textes mais je l'utilise pour mettre dynamiquement une image differente pour chacun des noeud de l'arbre

a savoir dans l'objet DefaultTreeCellRenderer il y a la methode :

public final Component getTreeCellRendererComponent(JTree tree,
            Object value, boolean sel, boolean expanded, boolean leaf, int row,
            boolean hasFocus)

cette methode contient un champ value ce champs et par defaut instance de jlabel qui represente un noeud

va faire un tour sur le how to de sun tu as pas mal d'info sur les jtree

WORA
vendredi 9 juin 2006 à 14:28:54 | Re : [JTree] taille de l'affichage du texte d'un noeud

cbil


Merci beaucoup, en allant sur le how to , j'ai trouvé.
[ Lien ]

Il fallait mettre : monArbre.setShowsRootHandles(true);

A+
Cbil
vendredi 9 juin 2006 à 14:40:30 | Re : [JTree] taille de l'affichage du texte d'un noeud

cbil

Euh non ca marche pas, ca l'air aleatoire en fait :(, je retourne sur how to lol ^^

vendredi 9 juin 2006 à 16:13:28 | Re : [JTree] taille de l'affichage du texte d'un noeud

cbil

J'ai toujours pas trouvé, j'ai testé plusieurs methodes mais rien a faire (dont également; dans le DefaultTreeCellRenderer)

vendredi 9 juin 2006 à 16:32:08 | Re : [JTree] taille de l'affichage du texte d'un noeud

cbil

Encore re,

Quand je disais que c'etait aleatoire, ce n'est evidemment pas le cas. J'ai trouvé quand est-ce que le probleme apparait ou non.

Des que l'arborescence est affiché, si un noeud est non visible (le parent n'a pas été déroulé) et qu'on le rend visible lorsqu'il y a le "plus long" texte de charger (second texte et non texte d'origine plus court) alors ca fonctionne, le noeud a pris la taille du long texte.

Quand on reharge le premier texte court, le noeud à garder la taille du texte long (ca se voit à la sélection d'un noeud) (donc forcement, le texte court est entierement visible).

La grandeur d'affichage est donc definit au premier affichage d'un noeud et non au chargement de la JTree dans le panel.

Si vous avez des idées ........

A+
Cbil

vendredi 9 juin 2006 à 16:52:35 | Re : [JTree] taille de l'affichage du texte d'un noeud

Twinuts

Membre Club Administrateur CodeS-SourceS
heu j'ai pas tt compris la faut etre bien clair un vendredi(mon cerval se prepare pour sa lobotomie du week end)

WORA
vendredi 9 juin 2006 à 17:45:49 | Re : [JTree] taille de l'affichage du texte d'un noeud

cbil


Lol oui à force d'ajouter du texte, je m'embrouille aussi ^^, désolé.

Admettons que j'ai l'arbre suivant :

RACINE
 *  Noeud1
-> Noeud2
  --> enfant1
  --> enfant2
  --> enfant3


Si je change le nom d'affichage de enfant2 par exemple à l'aide d'un bouton et de la methode enfant2.setUserObject(new NoeudArbre(enfant2.param1(), ....., "Nouveau nom"); (NoeudArbre est une classe extends DefaultMutableTreeNode) alors j'obtiens l'arbre suivant :

RACINE
 *  Noeud1
-> Noeud2
  --> enfant1
  --> Nouv...
  --> enfant3


-----------------------------------
Maintenant j'ai le meme arbre mais avec Noeud2 qui n'est pas déroulé. :

RACINE
 *  Noeud1
 *  Noeud2


les enfant de Noeud2 sont bien sur initialisé à enfant1, enfant2, enfant3.
Avant de double cliquer sur Noeud2 pour affiché ses enfants, je change le noeud de enfant2 par le meme texte que precedemment ("Nouveau nom") et la meme methode.

Voici ce que j'obtiens, un bon affichage :

RACINE
 *  Noeud1
-> Noeud2
  --> enfant1
  --> Nouveau nom
  --> enfant3

Mais si on remodifie le nom de "Nouveau nom" par "enfant2, et que l'on sélectionne ce noeud on se rend compte qu'il a conservé la taille de "Nouveau nom" :
[Nouveau nom   ---->   [enfant2           ]    (la taille n'a pas été remise à [enfant2]

  
CONCLUSION

La taille du JTree est initialisé lors du premier affichage du noeud concerné et non lors de la creation ou de l'affichage du JTree dans le panel.

Ensuite, en faisant un setPreferredSize, ca marche également pour changer le texte, mais je n'ai pas de solution pour avoir une taille correspondant au texte ecrit. (et en plus il doit y avoir plus simple)


a+,  merci beaucoup, et bon week-end !

Cbil

vendredi 9 juin 2006 à 18:38:01 | Re : [JTree] taille de l'affichage du texte d'un noeud

Twinuts

Membre Club Administrateur CodeS-SourceS
et tu as essayé d'updater l'ui du jtree apres la modification?

WORA

1 2

Cette discussion est classée dans : taille, texte, affichage, noeud, jtree


Répondre à ce message

Sujets en rapport avec ce message

Jtree et affichage de fils sur noeud expand [ par FRAJA ] Bonjour,j'ai un Jtree dans JScrollPane.//je résume// je réalise une sélection de mon noeud avec la souris._current = (DefaultMutableTreeNode)tree.getL correspondance textarea avec un noeud jtree [ par coltman ] bonjour à tous, j'ai besoin de réaliser un programme qui me permet de rentrer des caractéristiques relatives à noeud d'un arbre d'elements. les elen Taille Texte Jlabel [ par eldiablo25 ] Bonjour a tous,Je suis debutant et je voudrais savoir comment on fait pour ajuster le teste d'un jlabel à la taille de celui-ci. En gros je veux que m Changement de taille de police dynamiquement ? [ par Syphou ] Salut tout le monde,Voici mon problème, il a été posé a plusieurs programmeurs, ça a l'air tout bête mais ça ne l'est pas ...Il faudrait que j'arrive jtree + recuper le nom de variable d'un noeud [ par fraisa1985 ] Salut a tous ,comment je peux recuperer le nom de varaible d'un noeud d'une jtree aprés le clic sur cette noeud.Je sais qu'il y-a la méthode setuserob Capturer un noeud (expanded) dans un JTree [ par IngCommandos ] Bonjour,J'ai un JTree dynamique (dont les noeuds sont construits à partir de requêtes de bases de données)Je voulais trouver une solutions pour ne pas Charger un fichier text dans un JTree [ par Phenix40 ] Salut tout le monde, Je travail sur une petite application Java où je dois créer un JTree à partir d'un fichier texte dont la structure est la suivant jtree et double click [ par raline ] salut je dispose d'un jtree et je veux ke lorsque je double-clike sur un noeud d'fichier, il s'ouvre. s'il vous plait, comment associer une action de JTree: Obtenir le numéro de la ligne d'un noeud de JTree [ par darkGeek86 ] Salut tout le monde, j'ai besoin d'obtenir le numéro de la ligne des noeuds d'un arbre JTree, j'ai essayé d'utiliser la méthode getIndex() mais ça n'a JTree + JTextfield [ par DeNeBj ] Bonjour, Voila j'ai creé une arborescence en java avec un JTree( defaultmodel ...) Mais voila j'aimerais mettre des boutons ou des textfields aprés le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,855 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales