overriding JTree double-click to prevent node expansion?

Jason S picture Jason S · Aug 3, 2009 · Viewed 7.7k times · Source

It looks like there are 2 default mechanisms to expand a folder node in a JTree. One is to click on the expanded/collapsed icon next to a node. The other way is to double-click on the node itself.

Is there a way to stop this 2nd mechanism? I would like to override the double-click on a node so it does something (updates another display to show statistics on the node being double-clicked), and would like it to not expand/collapse the tree node. (just to be clear: I don't want to prevent the node from being expanded/collapsed, I just want to require the user to click on the expanded/collapsed icon.) How can I do this?

Answer

Peter picture Peter · Aug 3, 2009

From the relevant API page, you would do something like this:

JTree tree = new JTree();
tree.setToggleClickCount(0);

This means you must use 0 clicks to expand a tree node, effectively disabling double click. This will not interfere with other methods of tree expansion.