fsantos
Outubro 22, 2004, 2:13am
#1
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!
fsantos
Outubro 25, 2004, 3:09am
#3
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()?
r_n_t
Janeiro 26, 2007, 1:12pm
#5
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.
meucci
Março 25, 2008, 9:37am
#6
[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
etrusco
Agosto 13, 2010, 12:30pm
#7
[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();