yes, I can pick up the position of the cursor whenever it is cicked, but then what happens is I have to discard it if it did not represent a change in selected item (e.g. they just clicked to expand or collapse a branch).... alas, the tree changed event doesn't give me x-y position, and the mouse events can't tell me what sort of tree change the click represented.
So, I end up storing two sets of x-y pairs (tempX for all clicks, realX for when the last change really was a selection change) and a boolean doWeHaveAnUnrecordedTreeChangeEvent to get the position for ... all of which is clumsy and works fine, until I realised that of course, the user can alter the x-y position of the selected item for all sorts of reasons like they expanded the tree further up, they resized the window etc etc ...
I decided that keeping track of the current last selection via click was tricky, and counter to the java spirit : I should read the value as I need it - like with all the other controls.
There must be an easy method .... surely ???