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 :

Arbre à plusieurs 'MyTreeCellRenderer#'


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut Arbre à plusieurs 'MyTreeCellRenderer#'
    Chèr(e)s,
    Cette fois-ci encore, une question qui pourrait intéresser de nombreux programmeurs Swing JTree ...
    Mon application présente un objet JTree à DefaultMutableTreeNodes à 8 niveau. Tous ces niveaux se présentent de manière standard : noeuds à clenche, icône de dossier/fichier et à texte. Cependant, les noeuds de niveau 3 et 6 devraient avoir leur propre rendu. Respectivement 'MonRendu_NoeudàCaseàCocher' et 'MonRendu_ChampsTexte_BoutPouss'. Comment programmer l'objet 'JTree'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        JTree arbre = new JTree(tronc);
        TreeCellRenderer monRendu_ = new MonRendu_();
        tree.setCellRenderer(monRendu);
    avec plusieurs objets 'TreeCellRenderers' ?

    Pour l'initialisation de l'arbre, je pars d'une structure d'arrays (mais à 8 niveuax) telle que :
    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
    48
    49
    50
     
            Object[] menu = 
            new Object[]
            {   new String(argum1),
                new Object[]
                {   new String(argum2),
                    new MonRendu_NoeudàCaseàCocher[]
                    {   new String(argum3),
                        new Object[]
                        {   new String(argum4),
                            new Object[]
                            {   new String(argum5),
                                new MonRendu_ChampsTexte_BoutPouss[]
                                {   new String(argum6),
                                    new Object[]
                                    {   new String(argum7),
                                        ...
                                    },
                                    ...
                                },
                                ...
                            },
                            ...
                        },
                        ...
                    },
                    new MonRendu_NoeudàCaseàCocher[]
                    {   new String(argum8),
                        ... idem
                    },
                    new MonRendu_NoeudàCaseàCocher[]
                    {   new String(argum6),
                        new Object[]
                        {   new String(argum9),
                            ... idem
                        },
                        ...
                    }
                },
                {   new String(argum10),
                    new MonRendu_NoeudàCaseàCocher[]
                    {   new String(argum11),
                        new Object[]
                        {   new String(argum12),
                            ...
                        },
                        ...
                    }
                }
            };
    A défaut de savoir me répondre, connaîtriez-vous un site de la toile où je pourrais trouver un exemple de codage d'arbre similaire ?
    J'ai eu beau parcourir toutes les conversations présentes dans le présent répertoire ...
    Je m'inspire de
    - http://www.java2s.com/Code/Java/Swin...llRenderer.htm

    Merci pour votre empathie, temps et votre réponse ...

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tu ne peux mettre qu'un seul renderer dans l'arbre. Ce qu'il faut, c'est que ton renderer aie un comportement différencié suivant ce qu'il doit dessiner.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut Arbre à plusieurs 'MyreecellRenderer's
    C''est une solution, apparemment même la seule. C'est dommage car cela rend le code de l'unique objet de classe 'TreeCellRenderer' lourd ...
    Merci, tchize.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    utilse un delegate design pattern si tu le trouve lourd. Suivant le type d'objet à dessiner, ton renderer aura juste à déléguer à l'un ou l'autre renderer plus specifique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arbre : 1 fils, plusieurs père?
    Par -={-_-}=- dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 05/12/2009, 15h02
  2. [JTree] Arbre présentant plusieurs rendus
    Par tchecko dans le forum Composants
    Réponses: 2
    Dernier message: 21/03/2009, 11h51
  3. Plusieurs arbres de jonction pour le même graphe .?
    Par Mouna85 dans le forum Mathématiques
    Réponses: 0
    Dernier message: 01/06/2008, 12h48
  4. [JQuery] Arbre à plusieurs niveaux
    Par Bowen dans le forum jQuery
    Réponses: 1
    Dernier message: 21/07/2007, 18h22
  5. [XML][Java] parser plusieurs fichiers en un seul arbre DOM ?
    Par mrlenul dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/11/2005, 11h09

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