Mi ricordavo di aver letto una cosa simile a quella che ha detto anx721, cioè che il parametro non è il numero di caratteri ma il numero di colonne.
Cercando sulla documentazione ho trovato questo:
Quindi quel numero che passi è approssimativamente un numero di caratteri che dipende dalla piattaforma.Constructs a new empty text field with the specified number of columns. A column is an approximate average character width that is platform-dependent.
Il parametro è un numero di colonne sia nel caso di awt che di swing.
I controlli sulla lunghezza della stringa inserita possono essere fatti quando si valuta la correttezza di quanto inserito.