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:
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:
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 ...
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.