Your JTree already has the following method:
addTreeSelectionListener
public void addTreeSelectionListener(TreeSelectionListener tsl)
Adds a listener for TreeSelection events.
Parameters:
tsl - the TreeSelectionListener that will be notified when a node is selected or deselected (a "negative selection")
If you are faced with a similar kind of problem again, and it can't be solved as conveniently as with tsith's solution - interfaces! Just define some kind of listener interface that has some kind of update method, then an interface that allows you to add objects of the first interface as listeners. No-one really uses the Observer stuff.