如何在 jXtreetable 中 insert/remove 一个新行(节点)?

How to insert/remove a new row(node) in a jXtreetable?

我正在尝试使用 SwingLabs 库 org.jdesktop.swingx.JXTreeTable 中的 JXTreeTable。当我尝试 insert/remove 节点 into/from table.

时遇到问题

事实上,我希望有一种方法可以在其模型中的数据发生变化时触发 JXTreeTable。但是我没有找到这样的东西。谁能告诉我如何在 JXTreeTable 中添加或删除节点(父节点或子节点)?

PS:我的模型 class 扩展了 AbstractTreeTableModel。我传入其构造函数 a LinkedList 并使用此 List

中包含的数据填充 JXTreeTable

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)