我正在使用 JFormattedTextField,当我尝试删除字段中的值时,它会自动恢复以前的值。这种行为的原因是什么,我怎样才能阻止它恢复价值?
这是 JFormattedtextField 的代码。
jFormattedTextField2 = new javax.swing.JFormattedTextField(new DecimalFormat("###,###.##"));
我正在使用 JFormattedTextField,当我尝试删除字段中的值时,它会自动恢复以前的值。这种行为的原因是什么,我怎样才能阻止它恢复价值?
这是 JFormattedtextField 的代码。
jFormattedTextField2 = new javax.swing.JFormattedTextField(new DecimalFormat("###,###.##"));
发生这种情况是因为允许使用该方法JFormattedTextField
配置当焦点丢失时应采取的操作。setFocusLostBehavior
这些是行动。
描述
JFormattedTextField.REVERT
- 恢复显示以匹配 getValue,可能会丢失当前编辑。
JFormattedTextField.COMMIT
- 提交当前值。如果正在编辑的值不被 AbstractFormatter 视为合法值,即抛出 ParseException,则该值不会更改,然后编辑的值将保持不变。
JFormattedTextField.COMMIT_OR_REVERT
- 类似于 COMMIT,但如果值不合法,则表现得像 REVERT。
JFormattedTextField.PERSIST
- 什么都不做,不获取新的 AbstractFormatter,也不更新值。
****默认是JFormattedTextField.COMMIT_OR_REVERT
这样当你输入一个无效的值时,它会被还原,你会得到以前的一致状态**