高层次:我有一个 JTable,用户可以使用它来编辑数据。
每当用户按 Enter 或 Tab 完成编辑时,数据就会被保存(我假设“保存”实际上意味着“调用了 TableModel 的 setValueAt() 方法”。)
如果用户在进行编辑后以任何其他方式离开单元格,则不会保存新数据并且值保持原样。因此,例如,如果用户更改一个值,然后单击屏幕上的某个其他小部件,则更改不会“保持不变”。
我相信这是一个充满字符串的 JTable 的默认行为,是吗?
出于各种原因,单元格希望在用户离开单元格时保存任何和所有编辑。让 Swing 做到这一点的最佳/正确方法是什么?
Table Stop Editing解释了正在发生的事情并提供了几个简单的解决方案。