Srs., boa tarde!
Espero que alguém possa me ajudar com o problema abaixo.
Tenho um JFrame com um campo de CEP do tipo JFormattedTextField.
Em algumas ocasiões o conteúdo deste campo é carregado pela aplicação e em outras ele é deixado em branco para ser preenchido pelo usuário.
Em ambas as situações o conteúdo deve ser formatado com a máscara “#####-###”.
Ou seja:
Quando estiver em branco: " - "
Quando estiver preenchido: “99999-999”
Para setar a máscara estou usando o MaskFormatter, mas quando instalo a máscara no JFormattedTextField ele limpa o conteúdo do campo.
Por outro lado, se setar o texto após a instalação da máscara, ele a remove.
Segue abaixo o código:
private void setCEP(String cep){
MaskFormatter maskf = new MaskFormatter();
if (cep.length() > 0 ){
jfCep.setText(cep);
}
try {
maskf.setMask("#####-###");
maskf.install(jfCep);
} catch (ParseException ex) {
Logger.getLogger(CadastroPessoa.class.getName()).log(Level.SEVERE, null, ex);
}
Na situação acima, independente da String cep ter conteúdo ou não, o resultado sempre é um JFormattedTextField com " - ".
Existe alguma forma de instalar uma máscara sem perder o texto?
Antecipadamente, obrigado.