0

我有一个需要在加载数据时填充的 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()树已绘制,但它也会折叠所有节点。模型正在更改并且节点已正确添加。我错过了什么?

4

0 回答 0