Pessoal… Preciso da ajuda de vocês. Estou fazendo um formulário que tem um campo cpf. Tô usando o netbeans e coloquei o componente JFormattedTextField pra o campo cpf. Nas propriedades, já coloquei qual a máscara que quero: “###.###.###-##”.
O problema tá em saber se o usuário digitou os 11 caracteres do cpf. Como faço isso? Tô fazendo assim:
formattedCpf = new javax.swing.JFormattedTextField();
try {
formattedCpf.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("###.###.###-##")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
}
Esse código acima é o netbeans que gera. Mas acho q tá correto.
Mas, independentemente do usuário ter digitado alguma coisa ou não, a instrução: formattedCpf.getText().length sempre retorna o valor 14.
A verificação q eu tô tentando fazer é:
if (formattedCpf.getText().length != 14) //coloquei 14 pq já conto os 2 pontos e o hífen
JOptionPane.showMessageDialog (this, "O cpf tem de ter 11 dígitos");
As perguntas são: Há alguma maneira (sei que há) fácil de verificar se o usuário digitou os 11 dígitos? Onde estou errando?