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