Java JTree_2
package com.han; import java.awt.BorderLayout; import java.util.Enumeration; import javax.swing.JFrame; import javax.swing.JTree; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; /** * 处理节点选中事件 * * @author HAN * */ public class JTree_2 extends JFrame { /** * */ private static final long serialVersionUID = -4187076423981270641L; public JTree_2() { DefaultMutableTreeNode root = new DefaultMutableTreeNode("本地磁盘(D:)"); DefaultMutableTreeNode nodePicture = new DefaultMutableTreeNode("图片"); root.add(nodePicture); root.add(new DefaultMutableTreeNode("音乐")); nodePicture.add(new DefaultMutableTreeNode("千山——世博园旅游")); DefaultMutableTreeNode nodeSecond = new DefaultMutableTreeNode( "凤凰山——大鹿岛旅游"); nodePicture.add(nodeSecond); nodeSecond.add(new DefaultMutableTreeNode("大浪淘沙.gif", false)); nodeSecond.add(new DefaultMutableTreeNode("辽阔的大海.jpg", false)); DefaultTreeModel defaultTreeModel = new DefaultTreeModel(root, true); final JTree defaultTree = new JTree(defaultTreeModel); getContentPane().add(defaultTree, BorderLayout.WEST); // expand initially all nodes @SuppressWarnings("rawtypes") Enumeration enumeration = root.preorderEnumeration(); while (enumeration.hasMoreElements()) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) enumeration .nextElement(); defaultTree.expandPath(new TreePath(node.getPath())); } // add the tree selection listener, and print the selection path to // screen TreeSelectionModel treeSelectionModel = defaultTree.getSelectionModel(); // get // the // selection // model treeSelectionModel .setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION); defaultTree.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { if (!defaultTree.isSelectionEmpty()) { TreePath[] selectionPaths = defaultTree.getSelectionPaths(); for (int i = 0; i < selectionPaths.length; i++) { TreePath treePath = selectionPaths[i]; Object[] path = treePath.getPath(); for (int j = 0; j < path.length; j++) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) path[j]; System.out.print(node.getUserObject() + ((j == path.length - 1) ? "" : "-->")); } System.out.println(); } System.out.println(); } } }); } public static void main(String[] args) { JTree_2 instance = new JTree_2(); instance.setVisible(true); instance.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); instance.pack(); } }
posted on 2012-05-15 00:36 java课程设计例子 阅读(161) 评论(0) 编辑 收藏 举报