Java 如何获取jtree中每个节点的唯一id或值?
我是新来的。我想获得具有相同父节点的单个节点的唯一id或值 我尝试使用valuechanged()方法,但只能获得每个节点的字符串值 我想将当前选择的节点与特定节点的某个唯一值进行比较。我怎样才能做到这一点 我想我说得很清楚 有什么可能性吗 提前感谢..TreeNode有一个getParent()方法,您可以将返回的对象引用与==进行比较Java 如何获取jtree中每个节点的唯一id或值?,java,swing,jtree,Java,Swing,Jtree,我是新来的。我想获得具有相同父节点的单个节点的唯一id或值 我尝试使用valuechanged()方法,但只能获得每个节点的字符串值 我想将当前选择的节点与特定节点的某个唯一值进行比较。我怎样才能做到这一点 我想我说得很清楚 有什么可能性吗 提前感谢..TreeNode有一个getParent()方法,您可以将返回的对象引用与==进行比较 如果你真的需要一个基于对象身份的唯一ID,考虑System.identityHashCode。见以下问题: 我一直在为DefaultMutableTreeNo
如果你真的需要一个基于对象身份的唯一ID,考虑System.identityHashCode。见以下问题:
我一直在为DefaultMutableTreeNode设置唯一Id。一种方法是创建一个简单的CustomUserObject类,它有两个属性,Id和Title。然后,我们可以将CustomUserObject实例指定为节点UserObject属性 要确保树结构中只显示标题,请重写CustomUserObject类中的toString()方法
/* CustomUserObjectClass */
public class CustomUserObject implements Serializable {
private int Id = 0;
private String Title = null;
public CustomUserObject(int id, String title) {
this.Id = id;
this.Title = title;
}
public CustomUserObject() {
}
public int getId() {
return this.Id;
}
public String getTitle() {
return this.Title;
}
public void setId(int id) {
this.Id = id;
}
public void setSutTitle(String title) {
this.sutTitle = title;
}
@Override
public String toString() {
return this.Title;
}
现在创建一个新节点:
CustomUserObject uObj = new CustomUserObject(1, "My First Node");
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(uObj);
uObj = childNode.getUserObject();
uObj.getId();
uObj.getTitle();
但是,当我再次运行项目时,这个独特的值发生了变化。如何解决我的问题?请帮助我…如果你想在重新启动应用程序后保持值不变,没有简单的方法,你必须自己在某个地方实现这个逻辑(例如在DefaultMutableTreeNode的userObject字段中)。