How to check if two nodes are equal in a JTree with Java?


To check if two nodes are equal, use the equals() method. Here, we are checking that node1 and node2 are equal or not.

node1.equals(node2)

The following is an example to check if two nodes are equal in a JTree −

package my;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
public class SwingDemo {
   public static void main(String[] args) throws Exception {
      JFrame frame = new JFrame("Demo");
      DefaultMutableTreeNode node = new DefaultMutableTreeNode("Website");
      DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Videos");
      DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Tutorials");
      DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("QA");
      DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Tools");
      node.add(node1);
      node.add(node2);
      node.add(node3);
      node.add(node4);
      DefaultMutableTreeNode one = new DefaultMutableTreeNode("PHP Videos");
      DefaultMutableTreeNode two = new DefaultMutableTreeNode("HTML5 Videos");
      DefaultMutableTreeNode three = new DefaultMutableTreeNode("Blockchain Videos");
      DefaultMutableTreeNode four = new DefaultMutableTreeNode("Java");
      DefaultMutableTreeNode five = new DefaultMutableTreeNode("DBMS");
      DefaultMutableTreeNode six = new DefaultMutableTreeNode("CSS");
      DefaultMutableTreeNode seven = new DefaultMutableTreeNode("MongoDB");
      DefaultMutableTreeNode eight = new DefaultMutableTreeNode("Python QA");
      DefaultMutableTreeNode nine = new DefaultMutableTreeNode("jQuery QA");
      DefaultMutableTreeNode ten = new DefaultMutableTreeNode("Photo Editing Tool");
      node1.add(one);
      node1.add(two);
      node1.add(three);
      node2.add(four);
      node2.add(five);
      node2.add(six);
      node2.add(seven);
      node3.add(eight);
      node3.add(nine);
      node4.add(ten);
      JTree tree = new JTree(node);
      for (int i = 0; i < tree.getRowCount(); i++) {
         tree.expandRow(i);
      }
      tree.putClientProperty("JTree.lineStyle", "Angled");
      System.out.println("Is node 1 and node 2 equal? = " + node1.equals(node2));
      System.out.println("Depth of Tree = " + node.getDepth());
      System.out.println("Count of Tree Leaves(node1) = " + node1.getLeafCount());
      tree.setRowHeight(25);
      frame.add(tree);
      frame.setSize(600,450);
      frame.setVisible(true);
   }
}

The output is as follows displaying the console −

The following is our JTree −


Updated on: 30-Jul-2019

564 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements