
if i am expanding node of jtree then i want to collapse previous expanding node of jtree in swings how is it possible

hi friend,
To control the expanding and collapsing of node of jtree you may implement the interface TreeWillExpandListener and TreeExpansionListener hope this will be helpful for you.
Following code snippet may help you how to implement these interface.
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 NodeExpandAndCollapseControllExample implements TreeWillExpandListener, TreeExpansionListener{
JTree tree = new JTree();
public void createTree()
{
tree.addTreeWillExpandListener(this);
tree.addTreeExpansionListener(this);
JFrame frame = new JFrame();
frame.add(new JScrollPane(tree));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setVisible(true);
}
public static void main(String args[]) {
NodeExpandAndCollapseControllExample expansion = new NodeExpandAndCollapseControllExample();
expansion.createTree();
}
@Override
public void treeExpanded(TreeExpansionEvent event) {
tree = (JTree) event.getSource();
TreePath treePath = event.getPath();
System.out.println("Expanding Tree");
}
@Override
public void treeCollapsed(TreeExpansionEvent event) {
tree = (JTree) event.getSource();
TreePath treePath = event.getPath();
System.out.println("Collapsing Tree");
}
@Override
public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException {
tree = (JTree) event.getSource();
TreePath treePath = event.getPath();
boolean bol = false;
if (bol) {
throw new ExpandVetoException(event);
}
}
@Override
public void treeWillCollapse(TreeExpansionEvent event)
throws ExpandVetoException {
tree = (JTree) event.getSource();
TreePath treePath = event.getPath();
boolean bol = false;
if (bol) {
throw new ExpandVetoException(event);
}
}
}
Thanks.