用JTree里面的getModel得到JTree得Model
public TreeModel getModel() {
return treeModel;
}
得到根节点用 interface TreeModel里的
public Object getRoot();
public TreeModel getModel() {
return treeModel;
}
得到根节点用 interface TreeModel里的
public Object getRoot();
用如下方法试试:
Object rootNode = (Object) tree.getModel().getRoot();
String rootNodeName = rootNode.getClass().getName();
从中取出一个节点
DefaultMutableTreeNode node=....;
DefaultMutableTreeNode root = node.getRoot();或者上面那位朋友的方法
tree.getModel().getRoot();
把返回值转换成相应的节点类型。
TreeNode rootNode = (TreeNode) tree.getModel().getRoot();
String rootNodeName = rootNode.toString();
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;public class TestTree extends JFrame
{
public void display()
{
DefaultMutableTreeNode root = this.createTree();
JTree tree = new JTree (root);
tree.addMouseListener(new MyMouseAdapter());
// tree.setRootVisible(true);
tree.setEditable(true);
JScrollPane jsp = new JScrollPane(tree);
this.getContentPane().add(jsp);
this.setSize(500,500);
this.setVisible(true);
}
public static void main(String args[])
{
TestTree tt = new TestTree();
tt.display();
}
public DefaultMutableTreeNode createTree()
{
DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
DefaultMutableTreeNode source = new DefaultMutableTreeNode("source");
DefaultMutableTreeNode tool = new DefaultMutableTreeNode("tool");
root.add(source);
root.add(tool);
DefaultMutableTreeNode java = new DefaultMutableTreeNode("java");
DefaultMutableTreeNode C = new DefaultMutableTreeNode("C++");
DefaultMutableTreeNode vb = new DefaultMutableTreeNode("VB");
source.add(java);
source.add(C);
source.add(vb);
DefaultMutableTreeNode JBuilder = new DefaultMutableTreeNode("JBuilder");
DefaultMutableTreeNode JCreator = new DefaultMutableTreeNode("JCreator");
tool.add(JBuilder);
tool.add(JCreator);
return root;
}
}class MyMouseAdapter extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
JTree tree =(JTree)e.getSource();
int clickrow = tree.getRowForLocation(e.getX(),e.getY());
if(clickrow != -1)
{
TreePath treepath = tree.getPathForRow(clickrow);
TreeNode treenode = (TreeNode)treepath.getLastPathComponent();
System.out.println (treenode.toString());
}
}
}