Eu tenho um JFormattedTextField que será usado para CPF ou CNPF dependendo do tipo de cadastro (Física ou Jurídica), então criei dois métodos, um que formata CPF e outro CNPJ:
Bom agora gostaria de uma ajuda do pessoal, tenho 2 radiobutton, um para Cliente Fisico, outro para Cliente Juridico, pois bem, quando selecionado um ele seta a mascara pra um jformattedtext, até ai sem problemas, pois bem quando digito um cnpj realizo a busca perfeito, só que quando seleciono um Cliente Fisico que eu tenho que setar uma mascara de cpf, simplesmente o jformattedtext fica em branco e não consigo inserir, e quando volto pra Cliente Juridico o ultimo cnpj esta lá, gostaria de saber como dar um flush ou algo parecido.
Obrigado.
neto.fiamenghi
jcgmarlboro:
Bom agora gostaria de uma ajuda do pessoal, tenho 2 radiobutton, um para Cliente Fisico, outro para Cliente Juridico, pois bem, quando selecionado um ele seta a mascara pra um jformattedtext, até ai sem problemas, pois bem quando digito um cnpj realizo a busca perfeito, só que quando seleciono um Cliente Fisico que eu tenho que setar uma mascara de cpf, simplesmente o jformattedtext fica em branco e não consigo inserir, e quando volto pra Cliente Juridico o ultimo cnpj esta lá, gostaria de saber como dar um flush ou algo parecido.
Obrigado.
jcgmarlboro o meu problema é justamente esse que voce está enfrentando, se conseguir algo me avise…valeww
V
vdb
E ai pessoal…
consegui resolver tendo um MaskFormatter vazio, dai toda vez antes de setar a mascara definitiva seto ele
JFormattedTextField field = new JFormattedTextField();
MaskFormatter blankMask = new MaskFormatter();
blankMask.install(field);
field.setText("");
MaskFormatter cpfMask = new MaskFormatter("###.###.###-##");
cpfMask.install(field);
jcgmarlboro
Bom, pesquisei muito esta noite, mas até agora não encontrei uma solução definitiva…
Para um JFormattedTextField, a validação é controlada pela propriedade focusLostBehavior.
Isso pode ser definido como um dos quatro valores:
COMMIT_OR_REVERT: Este é o padrão. Quando o componente perde o foco, o componente automaticamente chama o CommitEdit () method. Isto irá analisar o conteúdo do componente e jogue um ParseException em caso de erro, revertendo o conteúdo para o valor mais recente válido.
COMMIT: Esta definição é semelhante à COMMIT_OR_REVERT, mas deixa o conteúdo inválido dentro do campo, permitindo ao usuário modificar a configuração.
Revert: Esta configuração sempre reverte o valor.
PERSIST: Esta configuração não faz nada. Você deve manualmente chamada CommitEdit () a si mesmo para ver se o conteúdo é válido antes de utilizar o conteúdo.