JTree:如何获取所选项目的文本?

如何在JTree获取所选项目的文本?

来自JTree的 Java教程网站:

 //Where the tree is initialized: tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); //Listen for when the selection changes. tree.addTreeSelectionListener(this); public void valueChanged(TreeSelectionEvent e) { //Returns the last path element of the selection. //This method is useful only when the selection model allows a single selection. DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if (node == null) //Nothing is selected. return; Object nodeInfo = node.getUserObject(); if (node.isLeaf()) { BookInfo book = (BookInfo) nodeInfo; displayURL(book.bookURL); } else { displayURL(helpURL); } } 
 DefaultMutableTreeNode selectedElement =(DefaultMutableTreeNode)tree.getSelectionPath().getLastPathComponent(); ..... System.out.println(selectedElement.getUserObject()); //For multiple selection you can use TreePath[] treePaths = tree.getSelectionModel().getSelectionPaths(); for (TreePath treePath : treePaths) { DefaultMutableTreeNode selectedElement = (DefaultMutableTreeNode)treePath.getLastPathComponent(); Object userObject = selectedElement.getUserObject(); //Do what you want with selected element's user object } 
 DefaultMutableTreeNode newchild=new DefaultMutableTreeNode(textField.getText()); DefaultMutableTreeNode SelectedNode= (DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); DefaultTreeModel treemodel=(DefaultTreeModel) tree.getModel(); JOptionPane.showMessageDialog(null, SelectedNode.getUserObject().toString()); if(SelectedNode!=null) treemodel.insertNodeInto(newchild, SelectedNode, SelectedNode.getChildCount());