【发布时间】:2011-04-15 11:06:57
【问题描述】:
我有一个带有自定义模型的 JTree,它扩展了 DefaultTreeModel。我需要能够将节点从一个分支移动到另一个分支而不会丢失选择。
目前,我在我的模型中这样做:
private void moveNode( MutableTreeNode node, MutableTreeNode newParent ) {
super.removeNodeFromParent( node );
super.insertNodeInto( node, newParent, 0 );
}
由于我使用的是 DefaultTreeModel 方法,因此节点会到达正确的位置并更新树视图,但它也会丢失节点上的选择。这是有道理的,因为它被(暂时)删除了,但这不是我想要的行为。
像这样移动节点的正确方法是什么?移动后的选择应该和移动前一样,无论是否涉及在移动后重新选择节点。
【问题讨论】: