JFormattedTextField, como retornar o conteudo sem a mascará?

E ai povo blz?

eu to utilizando um JformattedTextField com um MaskFormatter tipo …

MaskFormatter mask = null; try { mask = new MaskFormatter("(##)###-####"); mask.setOverwriteMode(true); mask.setValidCharacters("0123456789"); mask.setPlaceholderCharacter('_'); } catch (ParseException e) { e.printStackTrace(); } tfTelefone = new JFormattedTextField(mask);

e queria saber como pegar o conteúdo do campo sem a mascara, tipo,
no lugar de (21)000-0000 ter 210000000.

Bom, desde já valeu a ajuda!

Tente mask.getValue();

eu pensei que isso daria certo tbm
mas quando eu faco isso

mask.valuetoString(tfTelefone); // com o texto do tfTelefone = (91)222-2222
eu acabo tendo a seguinte exception
[color=“red”]java.text.ParseException: Invalid character: j ... [/color]

vc tentou usar o commitEdit() antes do getValue()?

Olah.

Já pegando o gancho.

Como se utiliza esse método?
ele não aparece para o objeto MaskFormatted no netbeans.
To usando a versão 5.5.

Obrigado.

[quote=fsantos]E ai povo blz?

eu to utilizando um JformattedTextField com um MaskFormatter tipo …

MaskFormatter mask = null; try { mask = new MaskFormatter("(##)###-####"); mask.setOverwriteMode(true); mask.setValidCharacters("0123456789"); mask.setPlaceholderCharacter('_'); } catch (ParseException e) { e.printStackTrace(); } tfTelefone = new JFormattedTextField(mask);

e queria saber como pegar o conteúdo do campo sem a mascara, tipo,
no lugar de (21)000-0000 ter 210000000.

Bom, desde já valeu a ajuda![/quote]

Então cara vc pode tentar fazer assim:

tfTelefone.getText().replace("(","").replace(")","").replace("-","");

Não sei se é a melhor forma mas acredito que ira funcionar

Até mais

[quote=fsantos]E ai povo blz?

eu to utilizando um JformattedTextField com um MaskFormatter tipo …

MaskFormatter mask = null; try { mask = new MaskFormatter("(##)###-####"); mask.setOverwriteMode(true); mask.setValidCharacters("0123456789"); mask.setPlaceholderCharacter('_'); } catch (ParseException e) { e.printStackTrace(); } tfTelefone = new JFormattedTextField(mask);

e queria saber como pegar o conteúdo do campo sem a mascara, tipo,
no lugar de (21)000-0000 ter 210000000.

Bom, desde já valeu a ajuda![/quote]

Tente mask.setValueContainsLiteralCharacters(false); e ler o valor do field com getValue.
Se o getValue não der (ex. vc tá lendo o valor antes de ele ser “commitado”), você pode usar mask.stringToValue(field.getText());

Você pode usar o metodo replace();