我是jtree的新手。我想要獲得具有相同父級的單個節點的唯一標識或值。如何獲得jtree中每個節點的唯一id或值?
我試着用valuechanged()方法,但我只能得到每個節點的字符串值。
我想比較當前選擇節點與特定節點的某個唯一值。我怎樣才能做到這一點?
我想我說得很清楚。
有沒有可能的可用?
在此先感謝..
我是jtree的新手。我想要獲得具有相同父級的單個節點的唯一標識或值。如何獲得jtree中每個節點的唯一id或值?
我試着用valuechanged()方法,但我只能得到每個節點的字符串值。
我想比較當前選擇節點與特定節點的某個唯一值。我怎樣才能做到這一點?
我想我說得很清楚。
有沒有可能的可用?
在此先感謝..
樹節點擁有的getParent()方法,你可以比較返回它與==對象引用。
如果您確實需要基於對象標識的唯一標識,請考慮System.identityHashCode。看到下面的問題: How do you get the "object reference" of an object in java when toString() and hashCode() have been overridden?
我一直在努力爲DefaultMutableTreeNode設置一個唯一的ID。一種方法是創建一個簡單的CustomUserObject類,它具有兩個屬性Id和Title。然後,我們可以將CustomUserObject實例指定爲Node 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();
但是獨特的價值變化,當我運行項目again.How解決我的問題?請幫助我.... – 2012-07-16 07:54:16
如果您希望在重新啓動應用程序後保持該值不變,您不得不在自己的某處實現此邏輯(例如,在DefaultMutableTreeNode的userObject字段中)。 – lbalazscs 2012-07-18 10:26:04