2012-03-30 72 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

相關問題