TreeTableView
XML ドキュメントから編集可能なドキュメントを作成しようとしています。このために、クラス内のドキュメントから要素をラップしています。要素のデータは、属性 key および 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));
current は XML 要素です。この時点で、上記のクラス
の 2 行目のNullPointerException
for
を取得します。これを正しく設定するにはどうすればよいですか?lib.ElementWrapper.<init>(ElementWrapper.java:21)
Wrapper