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 :

Problème de récupération des informations des noeuds dans un Jtree


Sujet :

Composants Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Par défaut Problème de récupération des informations des noeuds dans un Jtree
    Bonjour tout le monde,

    voila comme le titre l'indique, mon problème est au niveau de mon Jtree que j'ai crée à partir de mon TreeModel.
    Ce que je souhaite est de personnaliser l'affichage de mon Jtree en fonction des informations que j'ai affecté aux nœuds lors de leurs création (dans une classe MyTreeNode, ainsi chaque nœud comprend un nom, un type et une description), en effet, colorer les nœuds qui ont le type "String" par exemple...

    Sauf que lorsque j'ai utilisé la classe DefaultTreeCellRenderer, et en créant une classe MyTreeRenderer, j'ai pas pu récupéré les informations associées aux nœuds, et tout ce que me donne cette classe c'est un "value" du noeud courent de type Object qu'on peut le convertir en DefaultMutableTreeNode, mais pas en autre classe??




    voila le code de la classe MyTreeRenderer et le problème est au niveau de la ligne en rouge qui ne marche pas, où j'ai essayé de récupérer le MyTreeNode pour pouvoir tester sur les informations associées, à partir du paramètre value de la classe getTreeCellRendererComponent:
    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
    23
    24
    25
    26
     
     
    class MyTreeRenderer extends DefaultTreeCellRenderer {
     
     
            public Component getTreeCellRendererComponent(
            JTree tree,
            Object value,
            boolean sel,
            boolean expanded,
            boolean leaf,
            int row,
            boolean hasFocus) {
            Component component=super.getTreeCellRendererComponent(
            tree, value, sel,
            expanded, leaf, row,
            hasFocus);
     
            DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
     
              MyTreeNode nodeInfo = (MyTreeNode)(node.getUserObject());
               // if(nodeInfo.getType().equalsIgnoreCase("String"))
                     //   setBackground(Color.YELLOW);
     
            return this;
            }
    voila j'espère que j'étais clair, et je vous remercie d'avance pour votre aide.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Par défaut
    j'ajoute aussi la classe MyTreeNode pour voir mieux le problème:

    Remarque: Cette classe n'est pas une instance de la classe DefaultMutableTreeNode (Extends DefaultMutableTreeNode )

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    public class MyTreeNode {
     
        private String name;
        private String description;
        private String type;
     
        public MyTreeNode(){
            super();
        }
     
        public MyTreeNode ( String name, String type, String description){
            this.name = name;
                    this.type = type;
            this.description = description;
     
        }
     
        public void setName(String s) {
            this.name = s;
        }
     
        public void setDescription(String s) {
            this.description = s;
        }
     
        public void setType(String s) {
            this.type = s;
        }
     
     
        public String getName(){
            return this.name;
        }
     
        public String getDescription(){
            return this.description;
        }
     
        public String getType(){
            return this.type;
        }
     
        public String toString(){
            return this.name;
        }
    }

Discussions similaires

  1. Affichage des informations des parties des graphes
    Par nabil123456 dans le forum Interfaces Graphiques en Java
    Réponses: 0
    Dernier message: 13/05/2015, 10h52
  2. [WD-2003] Insérer des information de Sharepoint dans un document Word.
    Par Celia003 dans le forum Word
    Réponses: 0
    Dernier message: 19/01/2010, 12h02
  3. Réponses: 2
    Dernier message: 29/08/2006, 20h56
  4. Réponses: 3
    Dernier message: 15/06/2006, 15h58
  5. Réponses: 5
    Dernier message: 13/04/2006, 14h13

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