JTree中如何获得我点击的每个节点的值,也就是说在我点击这棵树的任意一个结点时,怎样才能确定我当前正在点击的是哪一个结点。

解决方案 »

  1.   

    在onclick点击事件中,将点击的树节点的值传过去就行了吧。
      

  2.   

    我知道是用onclick事件,但我想知道的是如何判断当前单击的是哪一个节点?
      

  3.   

      public java.lang.Object getLastSelectedPathComponent();
      public javax.swing.tree.TreePath getSelectionPath();
    和其他
      

  4.   

    类似这样:
    class MyTree extends JTree覆盖方法:
    protected void fireValueChanged(TreeSelectionEvent e)获取节点内容:DefaultMutableTreeNode node = (DefaultMutableTreeNode) (this.getLastSelectedPathComponent());
    Object obj = node.getUserObject();
    if (obj instanceof Project) {
    Project project = (Project)obj;
    } else if (obj instanceof Server) {
    Server tmpServer = (Server) obj;
    } else {
    }    
      

  5.   

    tree.addTreeSelectionListener(new TreeSelectionListener() {
        public void valueChanged(TreeSelectionEvent evt) {
            // Get all nodes whose selection status has changed
            TreePath[] paths = evt.getPaths();        // Iterate through all affected nodes
            for (int i=0; i<paths.length; i++) {
                if (evt.isAddedPath(i)) {
                    // This node has been selected
                } else {
                    // This node has been deselected
                }
            }
        }
    });
      

  6.   

    楼上正解,用TreePath解决.谢了.