Validação de input JTextField - Java Swing

4 respostas Resolvido
javaswing
R

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 :/)

4 Respostas

S

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

R

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!

S
Solucao aceita

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

J

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.

Criado 12 de julho de 2022
Ultima resposta 15 de jul. de 2022
Respostas 4
Participantes 3