JTable自动更新帮助

时间:2011-01-30 14:46:58

标签: java mysql swing jtable

问候,

我一直在理解DefaultTableModel将如何解决我的问题。 我有这个JTable,它已经使用JDBC - MySQL从我的数据查询数据。 我的角色是JTable的index0始终显示主键。 并且在末尾的二维对象数组中总会有一个空行,其中将检索单元格的数据。

截至目前,我在模型中包含了一个触发fireCellUpdated()的setValueAt方法。 它起作用但缺点是数据将显示在JTable上但在阵列上更改。 我怎么能解决这个问题?

非常感谢您的回复。

感谢。

2 个答案:

答案 0 :(得分:4)

  

当我检查数组时,更改就在那里。但它不会显示在JTable上

您永远不应该直接更新阵列。在创建模型时,该数组用于填充DefaultTableModel中的数据。 DefaultTableModel将数据存储在Vector of Vector中,因此所有数据都将从Array复制到模型中。之后,所有更新必须直接完成到TableModel。

答案 1 :(得分:2)

如果我理解正确,您的数据模型包含不打算显示的其他信息。 DefaultTableModel对此可能有点尴尬。或者,您可能需要考虑AbstractTableModel,这样可以更轻松地将数据的某些部分公开给JTable。文章How to Use Tables: Creating a Table Modelhere中有一些示例。