Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeWillExpandListener;
import javax.swing.tree.ExpandVetoException;
import javax.swing.tree.TreePath;

public class Main {
    public static void main() {
        JTree tree = new JTree();
        tree.addTreeWillExpandListener(new MyTreeWillExpandListener());
        tree.addTreeExpansionListener(new MyTreeExpansionListener());

        JFrame f = new JFrame();
        f.add(new JScrollPane(tree));
        f.setSize(300, 300);
        f.setVisible(true);

    }
}

class MyTreeWillExpandListener implements TreeWillExpandListener {
    public void treeWillExpand(TreeExpansionEvent evt) throws ExpandVetoException {
        JTree tree = (JTree) evt.getSource();

        TreePath path = evt.getPath();
        boolean veto = false;
        if (veto) {
            throw new ExpandVetoException(evt);
        }
    }

    public void treeWillCollapse(TreeExpansionEvent evt) throws ExpandVetoException {
        JTree tree = (JTree) evt.getSource();

        TreePath path = evt.getPath();
        boolean veto = false;
        if (veto) {
            throw new ExpandVetoException(evt);
        }
    }
}

class MyTreeExpansionListener implements TreeExpansionListener {
    public void treeExpanded(TreeExpansionEvent evt) {
        JTree tree = (JTree) evt.getSource();

        TreePath path = evt.getPath();
        System.out.println("treeExpanded");
    }

    public void treeCollapsed(TreeExpansionEvent evt) {
        JTree tree = (JTree) evt.getSource();

        TreePath path = evt.getPath();
        System.out.println("treeCollapsed");
    }
}