因为编辑是在你双击树结点后发生的,tree.addMouseListener,把相应的选中title记住就行了!如果失败,就设回来!

解决方案 »

  1.   

    我记住了选中的title了,而且test.setText(oldTitle);
    但是不行呀,怎么回事?
      

  2.   

    用TreeModelListener:
        treeModel=tree.getModel();
        treeModel.addTreeModelListener(new TreeModelListener(){
        public void treeNodesChanged(TreeModelEvent e) {
            DefaultMutableTreeNode node;
            node = (DefaultMutableTreeNode)
                     (e.getTreePath().getLastPathComponent());        /*
             * If the event lists children, then the changed
             * node is the child of the node we've already
             * gotten.  Otherwise, the changed node and the
             * specified node are the same.
             */
            try {
                int index = e.getChildIndices()[0];
                node = (DefaultMutableTreeNode)
                       (node.getChildAt(index));
            } catch (NullPointerException exc) {}
            
            if(操作数据库失败){
              node.setUserObject(oldTitle);
            }    }
        public void treeNodesInserted(TreeModelEvent e) {
        }
        public void treeNodesRemoved(TreeModelEvent e) {
        }
        public void treeStructureChanged(TreeModelEvent e) {
        }
      });