DOM4J を使用して XML Doc にリンクした JTree があります。選択した場所にノードを追加できるポップアップがあります。
public void addNode() {
BranchTreeNode node = (BranchTreeNode) getLastSelectedPathComponent();
if ((node.getXmlNode() instanceof Element)
&& (node.getXmlNode().getName().equals(ROOT))) {
Element root = (Element) node.getXmlNode();
Element element = root.addElement(NODE);
}
}
これは、基礎となる XML に対してうまく機能し、保存して完全に読み取ることができます。問題は、ツリーに 1 つのノードしか追加されず、ノードをいくつ追加しても 1 つしか表示されず、その子は 1 つしか表示されないことです。私はもう試した
treeModel.reload();
treeModel.reload(node);
treeModel.nodeChanged(node);
そして今、Eclipseでスペルを調べてみると、これは陽気に機能しました
treeModel.setDocument(treeModel.getDocument());
だから私は今私の質問だと思います:これは正しい方法ですか? 何か不足していますか?