javafx 2 -如何在用户界面中编辑数据时警告用户,以便我可以警告他们覆盖,或提示他们保存?(Java)



如何在UI中编辑数据时警告用户,如果他们从另一个源加载,我可以警告他们覆盖,或提示他们保存?(JavaFX2.2)

我将有超过50个文本字段跨多个选项卡和2或3个表与按钮添加和删除行。

我想知道是否有一个全局'isDirty'布尔标志,可以设置按钮上的onAction处理程序,但我必须设置onKeyTyped处理程序上的每一个文本字段和文本区域?(这会让事情变慢吗?)Java是否跟踪任何字段是否被编辑,如果是,我可以从中捕获该信息吗?

一个可能的干净的解决方案是有一种MyWholeDataset类,在UI启动时填充数据,另一个"克隆"对象用于实际的UI显示。然后,每次用户更改UI中的数据时,您都要更改第二个对象(克隆对象)。最后,您应该实现Comparable接口。这告诉你存在差异,然后你可以,例如,有一种"getdelta"方法返回一组不同的字段名,或者一个hasmap返回字段名作为键,一个包含旧/新值对的对象作为值。

最新更新