【问题标题】:How to insert/remove a new row(node) in a jXtreetable?如何在 jXtreetable 中插入/删除新行(节点)?
【发布时间】:2023-03-31 06:46:01
【问题描述】:
我正在尝试使用来自 SwingLabs 库 org.jdesktop.swingx.JXTreeTable 的 JXTreeTable。当我尝试在表中插入/删除节点时遇到问题。
事实上,当模型中的数据发生变化时,我希望有一个可以触发 JXTreeTable 的方法。但我没有找到这样的东西。谁能告诉我如何在 JXTreeTable 中添加或删除节点(父节点或子节点)?
PS:我的模型类扩展了AbstractTreeTableModel。我在它的构造函数中传递了一个LinkedList 并使用此列表中包含的数据填充 JXTreeTable
【问题讨论】:
标签:
java
swing
jxtreetable
【解决方案1】:
AbstractTreeTableModel 有一个TreeModelSupport 类型的受保护成员变量modelSupport,它为您提供了多种此类事件方法:
- fireNewRoot()
- fireTreeStructureChanged(TreePath)
- firePathChanged(TreePath)
- fireChildChanged(TreePath, int, Object)
- fireChildrenChanged(TreePath, int[], Object[])
- fireChildAdded(TreePath, int, Object)
- fireChildRemoved(TreePath, int, Object)
- fireChildrenAdded(TreePath, int[], Object[])
- fireChildrenRemoved(TreePath, int[], Object[])
- addTreeModelListener(TreeModelListener)
- removeTreeModelListener(TreeModelListener)