work163.com
package test09;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.WindowConstants;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
public class work163 extends JFrame
{
TreeSelectionModel treeSelectionModel1;
JTree tree1;
public work163()
{
this.setTitle("处理树的事件");
this.setLayout(new BorderLayout());
DefaultMutableTreeNode root1 = new DefaultMutableTreeNode("根节点");
root1.add(new DefaultMutableTreeNode("节点A"));
root1.add(new DefaultMutableTreeNode("节点B"));
root1.add(new DefaultMutableTreeNode("节点C"));
tree1 = new JTree(root1);
treeSelectionModel1 = tree1.getSelectionModel();
treeSelectionModel1.setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
tree1.addTreeSelectionListener(new TreeSelectionListener()
{
@Override
public void valueChanged(TreeSelectionEvent e)
{
if (!tree1.isSelectionEmpty())
{
TreePath[] selectionPaths = tree1.getSelectionPaths();
for (int i = 0; i < selectionPaths.length; i++)
{
TreePath treePath1 = selectionPaths[i];
Object[] paths = treePath1.getPath();
for (int j = 0; j < paths.length; j++)
{
DefaultMutableTreeNode node1;
node1 = (DefaultMutableTreeNode)paths[j];
String str1 = node1.getUserObject() + (j == (paths.length -1)? "":"-->");
System.out.print(str1);
}
System.out.println();
}
System.out.println();
}
}
});
this.getContentPane().add(tree1,BorderLayout.WEST);
this.setSize(500,500);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
work163 s1 = new work163();
}
}