IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[jtree] multiligne


Sujet :

Composants Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 79
    Points
    79
    Par défaut [jtree] multiligne
    bonjour
    j'aimerais savoir s'il est possible de mettre du texte sur plusieur lignes dans un jtree sur une seule branche.
    j'arrive a le faire avec du html mais le souci c'est que le label de l'arbre ne s'agrandit pas... donc mon text est mangé en haut et en bas
    est ce que qq un a une idée??
    merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 79
    Points
    79
    Par défaut
    oh
    personne n'a une petite idée?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 120
    Points
    120
    Par défaut
    Peut être en jouant avec le Renderer....

    MyRenderer mr = new MyRenderer();

    JTree.setCellRenderer(mr);

    Bien entendu, MyRenderer est une classe perso ;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class MyRenderer extends DefaultTreeCellRenderer
    Ensuite, il faut surcharger la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Component getTreeCellRendererComponent(JTree tree, Object value,
    		boolean sel, boolean expanded, boolean leaf, int row,
    		boolean hasFocus) {}
    C'est ainsi que l'on peux modifier le contenu d'une cellule de JTree
    Perso je m'en sert mpour mettre des icones...mais il dois y avoir moyen de faire du texte multiligne...[/code]
    La naissance est le seul fruit du hasard

  4. #4
    Membre actif Avatar de aDamas
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 260
    Points : 288
    Points
    288
    Par défaut
    Par exemple en créant une classe Noeuds dérivant DefaultMutableTreeNode ayant comme attribut un JPanel (dans lequel tu met ce que tu veux)
    et en ajoutant la méthode getPanel() qui te le retourne.

    Ensuite comme le dit tomca tu redéfinit le renderer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public class ArbreRenderers extends DefaultTreeCellRenderer
    	{
    	public Component getTreeCellRendererComponent(JTree tree,Object value,
    												boolean selected,
                                                  boolean expanded,
                                                  boolean leaf,
                                                  int row,
                                                  boolean hasFocus)
     
        	 {
     
        	 if(value instanceof Noeuds)
        	 	{   	 	
        	 	return ((Noeuds)value).getPanel();    	 	
        	 	}
        	 else
        	 	{
        	 	return new JPanel();
        	 	}
     
        	 }
    	}
    Perso, c'est comme ça que je procède pour afficher des images dans mon JTree.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 79
    Points
    79
    Par défaut
    j'ai trouvé, il faut mettre setRowHeight(0); a l'abre pour que le nombre de ligne deffinies dans le cellrenderer soit pris en conte
    merci de vos reponses ^^


    a bientot

Discussions similaires

  1. [JTree] rafraichissement
    Par nurn dans le forum Composants
    Réponses: 12
    Dernier message: 29/07/2005, 14h41
  2. StringGrid, multiligne et word wrap
    Par Dajon dans le forum C++Builder
    Réponses: 7
    Dernier message: 17/09/2003, 17h15
  3. [JTree]redimensionnement d'un noeud
    Par grishka dans le forum Composants
    Réponses: 4
    Dernier message: 10/04/2003, 14h33
  4. [JTree] Ouvrir/Fermer l'ensemble des noeuds
    Par Math_Caen dans le forum Composants
    Réponses: 3
    Dernier message: 07/04/2003, 14h01
  5. [langage] Extraire un block dans une variable multiligne
    Par |DUCATI| DesMo dans le forum Langage
    Réponses: 9
    Dernier message: 11/02/2003, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo