データがロードされているときにデータを入力する必要がある JTree があります。DefaultTreeModel でツリーを作成します
final DefaultTreeModel treeModel = new DefaultTreeModel(root);
jTree1 = new JTree(treeModel);
root は MutableTreeNode 実装です。表示する必要があるデータが変更または追加されると、リスナーがトリガーされます。
public void exStateAdded(final ExState parent, ExState child) {
final ExStateTreeNode exStateTreeNode = new ExStateTreeNode(child);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
treeModel.insertNodeInto(exStateTreeNode, root, root.getChildCount());
}
});
デバッガーは、挿入が呼び出されたことを示していますが、ツリー自体は変更を反映していません。私が呼び出すとreload()
、ツリーが描画されますが、すべてのノードも折りたたまれます。モデルが変更され、ノードが正しく追加されます。私が見逃しているのは何ですか?