não consigo limpar JFormattedTextField[Resolvido]

Boa tarde pessoal!

É o seguinte:

Tenho uma classe com máscaras:

public Mascaras() {
    	try {
    		// # = apenas números
    		// O resto irá ficar inflexível
    		maskTEL = new MaskFormatter("(##) ####-####");
            maskCEP = new MaskFormatter("##.###-###");
    		maskCnpj = new MaskFormatter("##.###.###/####-##");
    		maskCPF = new MaskFormatter("###.###.###-##");
    		maskLogNum = new MaskFormatter("#########"); 
    		
            // Caractere que irá aparecer após ter dado um Delete
            maskCEP.setPlaceholderCharacter('_');
            maskTEL.setPlaceholderCharacter('_');
            maskCnpj.setPlaceholderCharacter('_');
            maskCPF.setPlaceholderCharacter('_');
            maskLogNum.setPlaceholderCharacter(' ');            
            
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }	

e chamo ela nas outras classes por exemplo:

Mascaras mascaras = new Mascaras();
JFormattedTextField celular1 = new JFormattedTextField(mascaras.maskTEL);

Até ai muito bom. Porém quando eu gravo, atualizo o banco eu mando limpar o campo da seguinte forma:

celular1.setText(null);

ele limpa a máscara, quando eu dou o foco no campo e depois tiro a máscara volta junto com o que eu tinha digitado anteriormente para salvar, sendo que eu queria que voltasse somente a máscara.

Valeu pessoal

Tente limpar desta forma:

celular1.setText("");  

ou assim se caso esse de cima não resolver:

celular1 = new JFormattedTextField(mascaras.maskTEL);  

Não deu!

Acho isso muito estranho!

Se vc quiser eu posto todo o código.

Não tem lógica!

wellington.nogueira isso funcionou direitinho.

Pessoal obrigado pelas dicas!

Valeu mesmo…

O JFormattedTextField possui internamente um objeto value. Talvez seja ele que esteja gerando o problema.

Veja se funciona:

[quote=lucas_duzo]ou assim se caso esse de cima não resolver:

Essa tática não só não resolve como pode gerar comportamentos ainda mais estranhos na aplicação… A referência original continuará na tela, não sendo substituida por esta nova, aí, ao invés de um objeto na tela referenciado no código, haverá um na tela (quase inascessível) e outro no código que não servirá para nada.

[quote=geraldofrancisco]wellington.nogueira isso funcionou direitinho.

Pessoal obrigado pelas dicas!

Valeu mesmo…[/quote] :thumbup: