Domanda

Ho avuto problemi a creare un JFormattedTextField per utilizzare le date con il formato gg/MM/aaaa.Nello specifico, mentre l'utente digita, il cursore dovrebbe "saltare" le barre e arrivare direttamente alla posizione del numero successivo.

Inoltre, JFormattedTextField deve verificare se la data inserita è valida e rifiutarla in qualche modo se la data non è valida, o "correggerla" in una data valida, ad esempio se l'utente inserisce "13" come mese, impostandolo come "01 " e aggiungi +1 all'anno.

Ho provato a utilizzare una maschera ("##/##/####") con il metodo validate() di JFormattedTextField per verificare se la data è valida, ma sembra che questi due non funzionino bene insieme (o io Sono troppo esperto di Java per sapere come...:), quindi l'utente può digitare qualsiasi cosa nel campo.

Qualsiasi aiuto è davvero apprezzato!Grazie!

È stato utile?

Soluzione

Potrebbe essere necessario utilizzare un normale JTextField e chiamare setDocument() con un documento personalizzato.Consiglio di estendere PlainDocument, questo semplifica la convalida dell'input man mano che il documento cambia e l'aggiunta delle barre appropriate.

Altri suggerimenti

prova a usare JCalendar

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top