【问题标题】:How to know that cell data has not been changed or modified?如何知道单元格数据没有被更改或修改?
【发布时间】:2012-03-30 19:31:38
【问题描述】:

我正在设计一个允许用户就地编辑单元格的表格,即用户可以就地编辑表格单元格。如果该行的任何单元格已被更新或编辑,我想通过将“编辑”的图像设置为该行的第一个单元格来将该行标记为“编辑”。我在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()。还有其他方法吗?

【问题讨论】:

    标签: java swing jtable tablecelleditor


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 可以在此上下文中使用PropertyChangeEvent,如@mKorbel 提供的链接所示。
      猜你喜欢
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      • 2014-02-14
      • 2014-12-26
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多