Tout simplement car les renderers ne sont pas de vrais composants en soit de par leur architecture, ils sont juste un "moteur de rendu" correspondant au design pattern poid mouche. Grosso modo le composant retourné par la méthode getTreeCellRenderer n'existe pas physiquement dans l'arbre. C'est juste son code de dessin qui est utilisé dans l'arbre. De fait il ne recevra aucune interaction que ce soit niveau claviers, souris et autres, vu qu'il n'existe pas dans l'arbre.
Le seul moyen de faire est d'ajouter un MouseListener à ta souris , de stocker le nœud survolé et de le comparer au précédent nœud survolé.
monTree.getPathForLocation(e.getX(), e.getY())
Pour récupérer le noeud associé à un point du JTree.
Partager