Source Code : Traverse Tree

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Traverse Tree

Traverse Tree
    
/*
Definitive Guide to Swing for Java 2, Second Edition
By John Zukowski     
ISBN: 1-893115-78-X
Publisher: APress
*/


import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.awt.*;
import java.util.*;

public class TraverseTree {
  public static void main(String args[]) {
    JFrame frame = new JFrame("Traverse Tree");
    Object footballNodes[] = { "Giants", "Jets", "Bills" };
    Vector footballVector = new NamedVector("Football", footballNodes);
    Object newYorkNodes[] = { "Mets", "Yankees", "Rangers", footballVector };
    Vector newYorkVector = new NamedVector("New York", newYorkNodes);
    Object bostonNodes[] = { "Red Sox", "Celtics", "Bruins" };
    Vector bostonVector = new NamedVector("Boston", bostonNodes);
    Object denverNodes[] = { "Rockies", "Avalanche", "Broncos" };
    Vector denverVector = new NamedVector("Denver", denverNodes);
    Object rootNodes[] = { newYorkVector, bostonVector, denverVector };
    Vector rootVector = new NamedVector("Root", rootNodes);
    JTree tree = new JTree(rootVector);
    tree.setRootVisible(true);
    TreeModel model = tree.getModel();
    Object rootObject = model.getRoot();
    if ((rootObject != null)
        && (rootObject instanceof DefaultMutableTreeNode)) {
      DefaultMutableTreeNode root = (DefaultMutableTreeNode) rootObject;
      //    printDescendents(root);
      Enumeration breadth = root.breadthFirstEnumeration();
      Enumeration depth = root.depthFirstEnumeration();
      Enumeration preOrder = root.preorderEnumeration();
      printEnumeration(breadth, "Breadth");
      //      printEnumeration(depth, "Depth");
      //      printEnumeration(preOrder, "Pre");
    }

    TreeSelectionListener treeSelectionListener = new TreeSelectionListener() {
      public void valueChanged(TreeSelectionEvent treeSelectionEvent) {
        JTree treeSource = (JTree) treeSelectionEvent.getSource();
        TreePath path = treeSource.getSelectionPath();
        System.out.println(path);
        System.out.println(path.getPath());
        System.out.println(path.getParentPath());
        System.out.println(((DefaultMutableTreeNode) path
            .getLastPathComponent()).getUserObject());
        System.out.println(path.getPathCount());
      }
    };
    tree.addTreeSelectionListener(treeSelectionListener);

    JScrollPane scrollPane = new JScrollPane(tree);
    frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
    frame.setSize(300, 400);
    frame.setVisible(true);
  }

  private static void printEnumeration(Enumeration e, String label) {
    System.out.println("-----" + label + "-----");
    while (e.hasMoreElements()) {
      System.out.println(e.nextElement());
    }
  }

  public static void printDescendents(TreeNode root) {
    System.out.println(root);
    Enumeration children = root.children();
    if (children != null) {
      while (children.hasMoreElements()) {
        printDescendents((TreeNode) children.nextElement());
      }
    }
  }
}

class NamedVector extends Vector {
  String name;

  public NamedVector(String name) {
    this.name = name;
  }

  public NamedVector(String name, Object elements[]) {
    this.name = name;
    for (int i = 0, n = elements.length; i < n; i++) {
      add(elements[i]);
    }
  }

  public String toString() {
    return "[" + name + "]";
  }
}
           
         
    
    
    
  

Thank with us