Carregar valores de um campo com mascara mas com excecao da mascara

7 respostas
R

Boa Noite pessoal.
Dei uma pesquisada aqui, porem nao consegui encontrar.

Criei uma mascara em um campo jTexField da seguinte maneira.

Cliquei com o botão direito na area de design que criei o cpf e fui em prorpiedades, code, pre creation code e criei um try catch.

try{
    javax.swing.text.MaskFormatter cpf= new javax.swing.text.MaskFormatter("###.###.###-##");
    jTextField4= new javax.swing.JFormattedTextField(cpf);
}
catch(Exception e){    
}

Até ai sem problemas.
A duvida que estou tendo é de como eu faco para carregar os dados deste jTextField de uma maneira que nao seja copiado a mascara, ou seja, nao seja copiado os pontos e traço.

Muito Obrigado.

7 Respostas

Rafael_Carneiro

Você pode remover os caracteres da máscara, um exemplo é o método replaceAll da classe String.

R

Obrigado Rafael.

Consegui fazer usando apenas o replace, ficou bem feinho mas funcionou.
fiz assim:

String cCPF= jTextField4.getText().replace(".","").replace(".","").replace("-", “”);

Com o replaceAll tentei fazer mas nao funcionou, se vc. tiver um exemplo.
Desculpa a ignorancia, estou voltando a mecher com java agora. Tinha feito um trabalhinho pra facul um tempo atraz, mas foi coisa bem basica.

Obrigado novamente.

F

Boa noite!

Se entendi bem o Rafael, ficaria assim:

String cCPF= jTextField4.getText().replaceAll(".","").replace("-", "");

Não melhora muito mas fica com um comando a menos…

Abraço!!!

R

Fala Felipe… blz…

Entaum kra eu até tinha tentado desta forma, mas o estranho é q. quando eu uso este método,

String cCPF= jTextField4.getText().replaceAll(".","");

Apaga tudo, ou seja, inclusive o numero do cpf a qual digito no jTextField. Quando vou verificar no banco de dados, nada esta gravado.

F

Ops… foi mal cara… esqueci de um detalhe importante… o método replaceAll recebe regex como argumentos… e “.” significa qualquer caractere… :oops:

hehehe… ficaria mais ou menos assim então…

String cCPF= jTextField4.getText().replaceAll("[^0-9]", "");

Isto vai tirar tudo o que não for dígito…

Para mais detalhes sobre regex no Java: http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html (para Java 6).

Abraço!!!

R

E ai Felipe…

Vlww kra, agora funcionou…

Brigadaumm…

F

Sem problemas cara… estamos aqui para ajudar…

Abraço!

Criado 22 de agosto de 2009
Ultima resposta 31 de ago. de 2009
Respostas 7
Participantes 3