我有一个带有自定义TableCellEditor(扩展DefaultCellEditor)的表格, 其中JFormattedTextField作为编辑器组件。
现在我有问题:当我编辑时按下一个单独的按钮时。当按下按钮时,编辑器仍然保持“打开和活跃”,而我希望它停止编辑,以便由按钮引起的操作中可用的更改。
当按下一个特定按钮时,如何停止编辑。我尝试了对于
希望有些人有好主意 =)
我有一个带有自定义TableCellEditor(扩展DefaultCellEditor)的表格, 其中JFormattedTextField作为编辑器组件。
现在我有问题:当我编辑时按下一个单独的按钮时。当按下按钮时,编辑器仍然保持“打开和活跃”,而我希望它停止编辑,以便由按钮引起的操作中可用的更改。
当按下一个特定按钮时,如何停止编辑。我尝试了对于
希望有些人有好主意 =)
你可以尝试。
jtable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); jtable.putClientProperty("terminateEditOnFocusLost",Boolean.TRUE);
谢谢asalamon74,那很好用。
在Sun Bug数据库的事情上存在争议: Bug 4724980:JTable:添加API以控制表失去焦点时编辑的处理方式。(还有其他错误条目)。terminateEditOnFocusLost打开“提交或取消”行为,可以在Java源代码中的类JTable$CellEditorRemover中看到。
是的,有点奇怪,这不在 API 等文档中记录。