如何知道细胞数据没有被改变或修改?

时间:2012-03-30 11:21:10

标签: java swing jtable tablecelleditor

我正在设计一个允许用户 IN PLACE CELL EDITING 的表格,即用户可以在适当的位置编辑表格Cell。如果该行的任何单元格已被更新或编辑,我想通过将“EDIT”的图像设置为该行的第一个单元格来将该行标记为“编辑”。我已将CellEditorListener添加到JTable,但我怎么知道单元格数据尚未更改或修改?用户完成编辑程序控制后,我转到editStopped(),但我怎么知道用户没有更新任何数据?

CellEditorListener cellEditorListener = new CellEditorListener() {

 public void editingStopped(ChangeEvent e) {
  //If cell has been edited
 }

public void editingCanceled(ChangeEvent e) {
 // If cell has not been updated                        
}
}; 

我假设当用户返回而不更新来自单元格的数据时,我会将程序控制转到editingCanceled()。还有其他方法吗?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

在开始进行更改之前,您应该保存JTable的基本状态(克隆模型?)。这样,无论何时细胞发生变化,您都可以将其与原始值进行比较,以查看其是否发生了变化