Validação de input JTextField - Java Swing

Bom dia a todos,

Eu gostaria de “obrigar” o usuário a entrar um formato LocalDate (“YYYY-MM-DD”) em um JTextField, para que depois no programa eu possa calcular a sua idade.

Ou seja, o input do usuário precisa ser checado antes de ser salvo e talvez uma msg de erro deve ser retornada.

Alguém pode me dizer qual o jeito mais simples de fazer isso (é pra faculdade) ou recomenda algum tutorial que nao seja a docu do Oracle? (Eu já tentei ler e achei mto difícil :/)

Ao invés de JTextField, utilize um JFormattedTextField com o formato desejado.

ah, me desculpe, eu já usei o JFormattedTextField, mas o problema é que o usuário ainda pode entrar uma data como 99/99/9999.

Eu gostaria de checar esse tipo de coisa e impedir que tal input seja salvo.

Muito obrigada pela resposta!

Então você tem que implementar um DocumentListener e ir validando o conteúdo a medida que o conteúdo do campo muda.

1 curtida

Você pode configurar uma validação manual utilizando substring com condicionais.

por exemplo colocar o campo das substring correspondentes ao mês com o numero máximo 12 e caso esteja incorreto apagar o campo se avisar o usuário para colocar um valor valido.

1 curtida