2012-03-30 37 views
0

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

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(),当用户已经返回而没有更新单元格中的数据。还有其他方法吗?

回答

0

在开始进行更改之前,您应该保存JTable的基本状态(克隆模型?)。这样一来,每当细胞的变化,你可以把它比原来的价值,看它是否改变与否

+0

了'PropertyChangeEvent'可以在此上下文中使用,如@mKorbel提供的链接所示。 – trashgod 2012-03-30 14:13:29

相关问题