在给定唯一父节点ID

时间:2018-08-20 12:20:03

标签: java jtree

我扩展了DefaultMutableTreeNode类,以便每个创建的节点都获得一个唯一的自行生成的ID。原因是用唯一的ID标识DefaultMutableTreeNode的{​​{1}}中的每个JTree

TreeModel

我想做的是一种接收import java.util.concurrent.atomic.AtomicLong; import javax.swing.tree.DefaultMutableTreeNode; public class MyMutableTreeNode extends DefaultMutableTreeNode { static final AtomicLong NEXT_ID = new AtomicLong(0); final long nodeId = NEXT_ID.getAndIncrement(); public long getNodeId() { return nodeId; } } (或类的扩展)作为输入并将JTree节点附加到其中一个树节点的方法。

我们可能最终会遇到这样的情况:

MyMutableTreeNode

请注意,该方法的返回值应再次为public JTree AppendNodeAt(JTree tree, MyMutableTreeNode newNode, long parentNodeId) { //TODO return tree; } ,并将JTree添加到存在父节点ID为newNode的节点的位置。

请注意,由于使用了parentNodeId扩展类,我们的DefaultMutableTreeNode也可能需要扩展以容纳它们。

此方法将在递归函数内部使用,其中当前节点仅知道其父节点,而不知道其所属的整个树。

0 个答案:

没有答案