0
我試圖從XML文檔創建可編輯的TreeTableView
。 爲此,我在一個類中包裝文檔中的元素。 元素的數據存儲在屬性鍵和val中。 我的包裝由創建元素包裝的空指針
private Element node;
private final StringProperty key = new SimpleStringProperty(this, node.getAttribute("key"), "temp");
private final StringProperty val = new SimpleStringProperty(this, node.getAttribute("val"), "temp");
public ElementWrapper(Element n){
System.out.println("creating element "+n.getNodeName());
node = n;
}
public String getKey(){
return key.get();
}
@Override
public String getVal(){
return key.get();
}
public void setKey(String key){
((Element)node).setAttribute("key", key);
}
@Override
public void setVal(String value){
((Element)node).setAttribute("val", value);
}
@Override
public Element getElement(){
return node;
}
@Override
public StringProperty keyProperty(){
return key;
}
@Override
public StringProperty valProperty(){
return val;
}
我寫了一個遞歸算法創建樹項目,並將它們與
TreeItem<NodeWrapper> newsub = new TreeItem<>(new ElementWrapper(current));
,其中電流的XML元素。在這一點,我得到NullPointerException
爲 lib.ElementWrapper.<init>(ElementWrapper.java:21)
這是上面張貼的Wrapper
類的第二行。 我如何正確設置?
好吧,這似乎是與空指針的原因,只有問題,我現在得到的是元素不會被設置與所需的屬性值。也許我要弄清楚爲什麼他們只看到初始值 – chenino
@chenino對不起,你能提供更多細節有什麼問題嗎? –
已經找到了解決方案,對您的答案進行了編輯並標記了它。如果我將構造器的最後一個值設置爲null,則值不會在樹表上更新。解決這個問題,現在everythign正在爲我工作。 非常感謝Andrii! – chenino