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