Essaie JTree, tu verras, c'est surpuissant.
Par contre, c'est un peu déroutant. Il faut que tu sois familier avec le model/view/controler (MVC). Tout swing est écrit comme en ça : un modèle (qui représente la donnée, une vue qui la montre et un contrôleur qui l'édite).
Exemple : un entier en MVC. Le modèle, très dur, c'est un entier. La vue c'est un jtextfield non éditable et le contrôleur est un jtextfield éditable.
Mais le controleur pourrait aussi être un ascensseur et la vue un niveau genre termomètre à mercure.
Bref, tu trouveras plein d'infos sur le net, notamment sur l'excellent site ibm.com (mais dur à trouver)
De plus, JTree est probablement ce qui fait le plus appel au MVC. En deux mot : la classe JTree n'est pas du tout un arbre graphique. Elle met en rapport un modèle d'arbre avec une représentation graphique de l'arbre.
La représentation graphique de l'arbre se base notamment sur la représentation d'un noeud. Il doit y avoir une méthode genre "getRenderer(treeNode)" qui permet, en la surchargeant, de renvoyer ton propre renderer.
Genre :
if treenode instanceof machin
return rendererOfMachin
else
return rendererOfTruc
Très coooool
Pour le modèle de l'arbre, tu as un modèle déjà existant (defaultree, je crois) et pour les noeuds, tu as defaultreenode.
Ils suffisent dans la plupart des cas.
Je ne peux pas en dire plus car j'ai pas tapé une ligne de JAVA depuis deux ans mais en cas de question plus précise, n'hésites pas.
Good luck !