Question

J'ai eu du mal à créer un JFormattedTextField pour utiliser des dates au format jj / mm / aaaa. Plus précisément, à mesure que l'utilisateur tape, le curseur doit "Sauter". les barres obliques et passez directement à la position du numéro suivant.

De plus, JFormattedTextField doit vérifier si la date entrée est valide et la rejeter d’une manière ou d’une autre si la date est invalide ou "la corriger". date valide, par exemple si l'utilisateur a saisi " 13 " comme mois, définissez-le sur " 01 " et ajoutez +1 à l'année.

J'ai essayé d'utiliser un masque ("## / ## / ####") avec la méthode validate () de JFormattedTextField pour vérifier si la date est valide, mais il semble que ces deux-là ne fonctionnent pas. bien ensemble (ou je suis trop vert sur Java pour savoir comment ... :), puis l'utilisateur peut taper n'importe quoi sur le champ.

Toute aide est vraiment appréciée! Merci!

Était-ce utile?

La solution

Vous devrez peut-être utiliser un JTextField standard et appeler setDocument () avec un document personnalisé. Je recommande d'étendre PlainDocument, cela facilite la validation de l'entrée lorsque le document change et l'ajout de barres obliques, le cas échéant.

Autres conseils

essayez d'utiliser JCalendar

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top