我一直在使用seesaw.tree/simple-tree-model创建我的 TreeModels,文档说这是只读的。最初我不需要编辑树结构,但现在我需要!
跷跷板中有一个拉取请求,用于添加update-tree!
. 虽然这是8个月大。
使用 seesaw / clojure 创建和编辑 JTrees 的最佳方法是什么?
我一直在使用seesaw.tree/simple-tree-model创建我的 TreeModels,文档说这是只读的。最初我不需要编辑树结构,但现在我需要!
跷跷板中有一个拉取请求,用于添加update-tree!
. 虽然这是8个月大。
使用 seesaw / clojure 创建和编辑 JTrees 的最佳方法是什么?
不幸的是,Seesaw 的树支持很差劲。JTree(和它一样讨厌的表亲 JTable)非常复杂,因此提出一个涵盖许多用例的干净包装器已被证明是困难的。
无论如何,如果你想要一个可编辑的树模型,你将不得不创建自己的 TreeModel 实现,或者构建DefaultTreeModel,教程在这里。关键是始终通过对象而不是直接通过节点DefaultTreeModel
进行修改(添加/删除子项等) 。DefaultTreeModel
这可以确保正确触发事件并重新绘制树等。如果您发现自己updateUI
在树上手动调用或类似的东西,那么您做错了什么。
希望这可以帮助。很抱歉给您带来不便。想到有人使用 Seesaw 必须进行互操作,这让我感到恶心 :)