Creating a JTree Component

In this section, you will learn about the JTree and its
components as well as how to create an JTree component. Here, first of all we
are going to describe about the JTree and its component. The java.swing
package provides the JTree and its component.
JTree: The tree is a special type of graph
that designed for displaying data with the hierarchical properties by
adding nodes to nodes and keeps the concept of parent and child node.
Node: A node is an
object at any position within the JTree where the data are associated or being
represented.
Path: The path is
the collection of contiguous set of nodes that contains one or many nodes. The
path is empty or null when the path has not any node.
Leaf: This is a
special types of node at the end of a path. The leaf node has not connected to
more nodes.
Root: This is the
node of highest point within the hierarchy in tree.
Parent: It
represents the relationship of node with another node. In object-oriented
programming concepts the parent is a super class.
Child: It
represents the relationship of node with another node. In object-oriented
programming concepts the child is a subclass of its parent. It inherits all
properties of its parent.
Description of program:
The following program creates the simple JTree
component. The tree is a special type of graph that build the tree hierarchy by
adding nodes to nodes and keeps the concept of parent and child node or root and
a child of root node. Whenever you will go to create a tree, you will need root
node that will be created by the DefaultMutableTreeNode() method. All
objects of DefaultMutableTreeNode are added in the specifying parent or
child nodes that will be specified by you and root node are added in the JTree
object that will also added on the frame.
Description of code:
DefaultMutableTreeNode("Color", true):
This is the constructor of DefaultMutableTreeNode class. It creates a tree
node with no root node, the child of root node, specified by user object and it
allows only children that have to be specified. It takes boolean types values
either 'true' or 'false'. If you will take 'true' that means children
node are allowed otherwise it will display the IllegalStateException.
JTree(TreeNode parent):
This is the constructor of JTree class that shows a set of hierarchical
data. It returns a JTree with given TreeNode that displays the root node
in a tree. By default, the tree defines the leaf node of a tree. It takes
the following types of arguments:
parent:
This is the name of an object of TreeNode that displays the root
node.
Here is the code of program:
import javax.swing.*;
import javax.swing.tree.*;
public class TreeComponent{
public static void main(String[] args) {
JFrame frame = new JFrame("Creating a JTree Component!");
DefaultMutableTreeNode parent = new DefaultMutableTreeNode("Color", true);
DefaultMutableTreeNode black = new DefaultMutableTreeNode("Black");
DefaultMutableTreeNode blue = new DefaultMutableTreeNode("Blue");
DefaultMutableTreeNode nBlue = new DefaultMutableTreeNode("Navy Blue");
DefaultMutableTreeNode dBlue = new DefaultMutableTreeNode("Dark Blue");
DefaultMutableTreeNode green = new DefaultMutableTreeNode("Green");
DefaultMutableTreeNode white = new DefaultMutableTreeNode("White");
parent.add(black);
parent.add(blue);
blue.add(nBlue);
blue.add(dBlue);
parent.add(green );
parent.add(white);
JTree tree = new JTree(parent);
frame.add(tree);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
frame.setSize(200,200);
frame.setVisible(true);
}
}
|
Download this example.
Output of program:

|