我注意到在 jTree 中调用和定义的 jTree.treeModelHandler 为 treeNodesChanged 和 treeNodesInserted 事件实现了空白方法。DefaultTreeModel 触发一个 treeNodesInserted 事件 & jTree 更新自己。但是,当我从 TreeModel 触发相同的事件时,什么也没有发生。
当它没有实现任何明显的方法时,我无法弄清楚树如何从 DefaultTreeModel 更新。
我在这里想念什么?
更新:解决方法 org.jdesktop.swingx.tree.TreeModelSupport。很棒的套件!添加为我的 TreeModel 接口对象的字段。然后将所有触发和 treeModelListener 方法委托给它。使用 JTree 比使用 DefaultTreeModel 效果更好,甚至使用 JXTree 效果更好。我只实现了单数选择/插入/删除,但到目前为止,树在所有测试中都表现正确。