0

MyTableModel 扩展了 DefaultTableModel,一切看起来和工作正常。

我有一个可编辑的列,正在调用 setValueAt(),并更新了数据库。

但是表本身没有被刷新?

我覆盖 , getColumName(), getRowCount(), isCellEditable(), getColumClass(), and setValueAt()- 被调用,并触发数据库更新。该模型由一个列表支持,该列表在 setValueAt() 中更新。

并且模型简单地设置为myTable.setModel(myTableModel);

4

3 回答 3

3

你调用super.setValueAt()你的代码吗?

看起来您的更改会跳过事件触发。

于 2013-11-15T10:08:11.703 回答
1

fireTableCellUpdated()在方法结束时调用setValueAt()。它必须帮助你。

于 2013-11-15T10:09:16.157 回答
0

也许您需要刷新 TableModel 的缓存。为此,您可以覆盖 fireTableDataChanged() 并在覆盖结束时调用 super 方法。

于 2014-09-15T09:38:11.043 回答