Boa tarde galera, estou com um problema, onde eu criei uma mascara nas propriedades de uma jFormattedTextField com campo para “CPF” (###.###.###-##) , até aí tudo bem. O problema é que quando eu digito um cpf, e apago o mesmo, deixando em branco, após tirar o foco da jFormattedTextField ele me recupera o valor anterior, alguém sabe o que pode estar ocorrendo ? desculpem a minha ignorância, iniciei meus estudos em java a pouco tempo. Desde já, obrigado !
Talvez tenhas selecionado alguma opção a mais nas propriedades, apaga ele e faz outro, e faz a mascara, isso nunca aconteceu comigo, é estranho.
Já consegui resolver. Existe uma propriedade do jFormattedTextField chamada setFocusLostBehaviormétodo.
Estas são as ações.
Descrição
JFormattedTextField.REVERT - Reverta a exibição para corresponder à de getValue, possivelmente perdendo a edição atual.
JFormattedTextField.COMMIT- Confirma o valor atual. Se o valor que está sendo editado não for considerado um valor legal pelo AbstractFormatter, ou seja, uma ParseException será lançada, o valor não será alterado e, em seguida, o valor editado persistirá.
JFormattedTextField.COMMIT_OR_REVERT - Semelhante ao COMMIT, mas se o valor não for legal, se comporte como REVERT.
JFormattedTextField.PERSIST - Não faça nada, não obtenha um novo AbstractFormatter e não atualize o valor.