2

我有以下问题。我创建了一个 JTreeTable 和一个扩展 AbstractTreeTableModel 的模型。问题是我的数据只有在每次插入操作后调用 fireTreeStructureChanged() 方法时才会显示。事实上,如果我简单地触发方法 fireTreeNodesInserted(),什么也不会发生。

此外,我的行中的数据仅在添加/删除事件后更新,如果它们简单地更改其值,它们仅在单击表格后更新。

这怎么可能?

编辑

当我调用 fireTreeStructureChanged() 时,它调用方法 fireTableDataChanged(); 而是 fireTreeNodesInserted(int firstRow, int lastRow) 调用 fireTableRowsInserted(); 但也许我传递给它不正确的参数...我必须传递的第一行和最后一行?

4

1 回答 1

1

为了减轻事件触发的痛苦,SwingX有一个辅助类 TreeModelSupport,它可以独立于项目使用

编辑

标准方式 :-) 在 TreeModelEvent 和 TreeModelListener 中经过良好测试的 api doc 1:1 映射,阅读它将帮助您理解。

于 2011-09-16T07:46:12.503 回答