Alternativa è l'utilizzare un JFormattedField che è del tutto equivalente ad un JTextField solo che puoi settare un insieme di caratteri da inserire.