我有一个包含多个可编辑单元格的jtable
当有人按下菜单上的"保存按钮"时,它不会保存当前仍在编辑的最后一个值.(除非他们先从单元格中删除)
我可以通过调用返回true的.isEditing()来检查它是否正在编辑.
我想做的是触发单元格编辑完成,它可以显示任何验证错误,如果没有,则保存.(用户不必先输出)
有人可以指出我正确的方向
谢谢
你可以手动打电话:
JTable table;
table.getCellEditor().stopCellEditing();
Run Code Online (Sandbox Code Playgroud)
这应该导致表停止在该单元格上进行编辑.通过覆盖stopCellEditing()您的方法TableCellEditor并在某些情况下返回false,您可以指示单元格的值当前无效,因此此时无法停止编辑.
当你有一个包含多个可编辑单元格的jtable时
当有人按下菜单上的"保存按钮"时,它不会保存最后一个值,请添加下面的代码
第一种是让表自动停止编辑并保存数据.这可以通过在表上设置属性来完成:
JTable table = new JTable(...);
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
Run Code Online (Sandbox Code Playgroud)
它将确保当有人按下菜单上的任何按钮时,它也会保存最后编辑的值.