Fala galera do java, blz? é uma duvida que nao consigo respostas em lugar algum… Sei que não é obrigatorio o uso de JFormattedTextField quando vou formatar algum campo, podendo instanciar um TextField como FormattedTextField.
JTextField txtCpf = new JFormattedTextField(mask);
Eu uso um combo para mudar as mascaras.
Até ai blz, mas se eu preencho o campo e entao descubro “putz, eh um cnpj e nao cpf”, apago os dadose mudo para cnpj (combo), mas o txtCpf não atualiza (se eu nao preencher nada ele funciona).
Ja tentei setar txtCpf como null para depois setar ele com novo FTF mas nao funcionou. Ja vi uma solução que seria usar FTF e setar value como null. Esta é a unica soluçao?
Não sei se deixei tudo confuso, mas qualquer coisa pergunta ai que explico.
Se você está trabalhando com máscaras facilitará a sua vida se você tiver a variável declarada como JFormattedTextField.
Para alterar a máscara tente setar o valor como null (setValue(null)) e depois alterar para a nova máscara.
Cara blz? poderia colocar o trecho de código do combo, só pra nós termos um ponto de partida?
talves consigamos achar outras soluções
abraço
Cara, eu geralmente faço desse jeito:
MaskFormatter mask = new MaskFormatter();
try{
mask.setMask("###.###.###-##");
mask.setValidCharacters(“0123456789”);
} catch(EXCECAO)
{}
JFormattedTextField cpfField = new JFormattedTextField(mask);
Digo o trecho de código do combo, vc não disse que tem um combo que alimenta o campo texto?
passa essa sintaxe pra gente ver como fazer pra alimentar esse campo texto, o problema pode estar ai.
abraço