For starters (like me):
How to add a selection change event listener to a Tree:

Only single selection:
Code:
Tree objTree = new Tree();
objTree.setSelectionMode(SelectionMode.SINGLE);

objTree.setSelectionModel(new TreeSelectionModel() {
	@Override
	protected void onSelectChange(TreeItem objItem, boolean blnSelect) {
		if (blnSelect) {
			System.out.println(objItem.getId());
		}
			
		super.onSelectChange(objItem, blnSelect);
	}});
or

Code:
Tree objTree = new Tree();
objTree.setSelectionMode(SelectionMode.SINGLE);

objTree.addListener(Events.SelectionChange, new Listener<TreeEvent>() {
	public void handleEvent(TreeEvent objEvent) {
		List<TreeItem> lstSelectedItems = objEvent.getSelected();
				
		if (lstSelectedItems.size() > 0) {
			TreeItem objItem = lstSelectedItems.get(0);
						
			if (objItem != null) {
				System.out.println(objItem.getId());
			}
		}
	}});
Multiple selection:
Code:
Tree objTree = new Tree();
objTree.setSelectionMode(SelectionMode.MULTI);

objTree.addListener(Events.SelectionChange, new Listener<TreeEvent>() {
	public void handleEvent(TreeEvent objEvent) {
		List<TreeItem> lstSelectedItems = objEvent.getSelected();
				
		if (lstSelectedItems.size() > 0) {
			for (TreeItem objItem : lstSelectedItems) {
				if (objItem != null) {
					System.out.println(objItem.getId());
				}
			}
		}				
	}});
Wrong, as SelectionChange doesn't work with SelectionListener (yes, makes sense, but for beginners you'll try everything):
Code:
objTree.addListener(Events.SelectionChange, new SelectionListener<TreeEvent>() {
Wrong, as SelectionChangedListener only works using a TreeModel and not with a simple Tree:
Code:
objTree.addListener(Events.SelectionChange, new SelectionChangedListener<TreeModel>() {
In the GXT FAQ it says:
How to handle selection events on a Tree ?
Use TreeBinder.addSelectionChangedListener(..)
Err, this should work, if you have a Tree bound to a data store (yes, makes sense, as it is a TreeBinder, I know... ) which IMHO I don't have, if I fill the tree using addItem - or? If it works anyway, a full working example would be nice...

Feedback is appreciated, especially, If I've got something wrong...

Regards,

HerrB