JTextField com MaskFormatter, mascara nao muda

4 respostas
L

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.

4 Respostas

M

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.

The_Punisher

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

R

Cara, eu geralmente faço desse jeito:

MaskFormatter mask = new MaskFormatter();

try{

mask.setMask("###.###.###-##");

mask.setValidCharacters([telefone removido]);

} catch(EXCECAO)

{}

JFormattedTextField cpfField = new JFormattedTextField(mask);

The_Punisher

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

Criado 23 de junho de 2010
Ultima resposta 25 de jun. de 2010
Respostas 4
Participantes 4