[an error occurred while processing this directive]

JTree ActionListener Example 



In this section, you will learn about JTree Action Listener and its implementations. 

Program Description:

The following program constructs a tree on the frame containing tree with root node and a command button ("Add"). Whenever you click the "Add" button, every time  the ActionListener is called to perform the action using actionPerformed() method. The actionPerformed() method adds  nodes in JTree. The insertNodeInto() Method  adds a  new child at specified location in JTree.

Here is the code of program:

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class JTreeActionListener extends JFrame {
    JButton addButton;
    JTree tree;
    DefaultMutableTreeNode root;
    DefaultMutableTreeNode child;
  public static void main(String[] av) {
    new JTreeActionListener();
  public JTreeActionListener(){
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
    root = new DefaultMutableTreeNode("root");
    child = new DefaultMutableTreeNode("Colors");
    child.add(new DefaultMutableTreeNode("Red"));
    child.add(new DefaultMutableTreeNode("Blue"));
    child.add(new DefaultMutableTreeNode("Orange"));
    child.add(new DefaultMutableTreeNode("Green"));
    child.add(new DefaultMutableTreeNode("Yellow"));
    tree = new JTree(root);
    JScrollPane scroller = new JScrollPane(tree);
    c.add(BorderLayout.CENTER, scroller);
    c.add(BorderLayout.NORTH, addButton = new JButton("Add"));
    addButton.addActionListener(new ActionListener(){

      public void actionPerformed(ActionEvent e){
        child = new DefaultMutableTreeNode("Java Tutorial");
        child.add(new DefaultMutableTreeNode("Java.Example"));
        child.add(new DefaultMutableTreeNode("Java Awt"));
        child.add(new DefaultMutableTreeNode("Java String"));
        child.add(new DefaultMutableTreeNode("Java Swing"));
        child.add(new DefaultMutableTreeNode("Java News"));
        child.add(new DefaultMutableTreeNode("Java IO"));
     ((DefaultTreeModeltree.getModel()).insertNodeInto(child, root, 0);

Download this program.

Output of the program: 



[an error occurred while processing this directive]