我有以下问题.. 我创建了一个 JTreeTable 和一个扩展 AbstractTreeTableModel 的模型。 问题是只有在每次插入操作后调用 fireTreeStructureChanged() 方法时,我的数据才会显示。事实上,如果我简单地启动方法 fireTreeNodesInserted(),什么也不会发生。
此外,我行中的数据仅在添加/删除事件后更新,如果它们简单地更改其值,则仅在单击表格后更新。
这怎么可能?
编辑
当我调用 fireTreeStructureChanged() 时,它会调用 fireTableDataChanged() 方法;相反,fireTreeNodesInserted(int firstRow, int lastRow) 调用 fireTableRowsInserted();但也许我传递给它的参数不正确...我必须传递哪一行和最后一行?
最佳答案
为了减轻事件触发的痛苦,SwingX有一个辅助类 TreeModelSupport,它可以独立于项目使用
编辑
是标准方式:-) TreeModelEvent 和 TreeModelListener 中经过良好测试的 api 文档的 1:1 映射,阅读它会帮助您理解。
关于java - JTreeTable显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432598/