在关闭带有未保存更改的 Vaadin window 之前警告用户

Warn user before closing Vaadin window with unsaved changes

我有一个弹出窗口 Window 作为主要 window 的子 window 实现。 我有一个 table,里面有 editable 个单元格。 (基本上它会在双击时变成 editable。) 请建议我如何使 window 在尝试关闭具有未保存更改的 window 时向用户发出警告。我部分知道 ConfirmDialog 可以用来解决这个问题。然而,识别未保存的数据是我面临的挑战。 我正在使用 Vaading 7.4.3

我建议您使用 DAO Class 将持久对象与处于编辑模式的对象进行比较,并使用比较过程。 例如:

//table.getValue() returns you the selected object
public void compare(Object selectedObject) {

//getPersistedObjectById returns you the persisted (selected) object
Object persistedObject = getPersistedObjectById(table.getValue());

//compare all editable fields of the object
     if (persistedObject.name.equals(selectedObject.name)) {
        ....      
} else {
        ....
     }
  }