TreePath newPath = nodeToPath(newNode);
if (newPath != null) {
for (TreePath path : selectionPaths) {
- if (newPath.toString().equals(path.toString())) {
+ if (isSamePath(path, newPath)) {
newSlectionPaths.add(newPath);
if (expanded.contains(path)) {
newExpanded.add(newPath);
tree.setSelectionPaths(newSlectionPaths.toArray(new TreePath[0]));
}
+ // You can override this
+ protected boolean isSamePath(TreePath oldPath, TreePath newPath) {
+ return newPath.toString().equals(oldPath.toString());
+ }
+
private void forEach(JTree tree, NodeAction action) {
forEach(tree.getModel(), tree.getModel().getRoot(), action);
}