节点是从数据库读出来的,怎么删除选中的JTree节点呢??????????

解决方案 »

  1.   

    楼主的意思是无法获得treemodel?
      

  2.   

    给你个例子吧,removeCurrentNode方法就可以移除当前选中节点 DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("");
    DefaultTreeModel treeModel = new DefaultTreeModel(rootNode);
    JTree jTree = new JTree(treeModel);

    public void removeCurrentNode() {
    TreePath currentSelection = jTree.getSelectionPath();
    if (currentSelection != null) {
    DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode) (currentSelection
    .getLastPathComponent());
    MutableTreeNode parent = (MutableTreeNode) (currentNode.getParent());
    if (parent != null) {
    treeModel.removeNodeFromParent(currentNode);
    return;
    }
    }
    }
      

  3.   

    用我这个方法,根节点是无法删除的
    可以这样试试
    public void removeCurrentNode() {
    TreePath currentSelection = jTree.getSelectionPath();
    if (currentSelection != null) {
    DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode) (currentSelection
    .getLastPathComponent());
    treeModel.removeNodeFromParent(currentNode);
    }
    }