Rechte Maustaste auf TreeNode soll den Fokus auf diese setzen

FerFemNemBem

Bekanntes Mitglied
Halloechen,

ich habe einen JTree mit mit vielen DefaultMutableTreeNodes und ich bekomme es einfach nicht hin, beim Klick mit der rechten Maustaste auf eine dieser Nodes den Fokus auf diese zu setzen (also genau wie beim Klick mit der linken Maustaste, den Text der Node (blau) zu hinterlegen und einzurahmen).

Siehe hier bei "Track 1":

JakPod.jpg


Ich hab am Baum einen MouseAdapter haengen, welcher auch korrekt auf das mousePressed-Event reagiert. Ich hole mir dann dort den Pfad zu der Node und das funktioniert auch alles bestens - nur den Fokus kann ich nicht setzen. Im folgenden Bild hab ich mit der rechten Mousetaste auf "Track 4" geklickt.


JakPod2.jpg


Nun haette ich gern, dass der Rahmen um "Track 1" verschwindet und bei "Track 4" gesetzt wird.

Hat jemand eine Idee, was man da machen muss?

Danke!

Gruss, FFNB.
 
Hallo. Ich verweise mal auf diesen Thread hier aus dem Forum. Man beachte Ebenius' Lösung dort. Ist zwar für eine JTable, aber bei einem JTree ist's das gleiche in grün.
Diese Lösung geht besser als das mit dem MouseListener.
 
Halloechen,

@Niki: Wo ich bin, weiss ich - also die Node auf der ich mich befinde hab ich bereits "in der Hand". Mir geht es nun darum, diese zu selektieren, als haette ich mit der linken Mausetaste draufgeklickt.

@KrokoDiehl: Ebenius benutzt:
Code:
table.changeSelection(row, col, me.isShiftDown(), me.isControlDown());
und genau sowas suche ich nun fuer eine TreeNode.

Gruss, FFNB.
 
Eigentlich hat Dir Niki ja bereits mit den Links auf die Lösung verwiesen:
Mit JTree#getPathForLocation(int x, int y) kommst Du an den TreePath der angeklickt wurde und mit JTree#setSelectionPath(TreePath path) kann man diesen dann selektieren.
 
Halloechen,

Perfekt!

Ein einfaches einfuegen von
Code:
jTree.setSelectionPath(path);
hats erledigt. Den "path" hatte ich onehin schon vorher ermittelt.

Mein Fehler war, dass ich an der Node selbst geschaut hatte, wie ich sie selektieren kann - nicht am tree.

Danke Niki & natuerlich alle anderen Helfenden!

Gruss, FFNB.
 

Zurück
Oben