overriding JTree double-click to prevent node expa

2020-08-13 05:17发布

问题:

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?

回答1:

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.



回答2:

Call setToggleClickCount(0) on the JTree

This will effectively disable expanding on double-click.