La Web del Programador: Comunidad de Programadores
 
    Pregunta:  21572 - LIMITAR ENTRADA DE CARACTERES EN UN TEXTFIELD
Autor:  James Gaseni Terrado
Hola compañeros, tengo una duda sobre el objeto TextField. Me gustaría limitar el número de caracteres que pueden ser introducidos en este campo de texto, por ejemplo, definir un máximo de 10 carcteres y si te pasas que no te deje escribir más....aunque le des al teclado, más o menos!!!!
Muchas gracias.

  Respuesta:  jimmy
MIRA AMIGO ESTO LO ES LO QUE E HECHO UTILIZANDO AWT, ESPERO Y TE SIRVA UN SALUDO DESDE CIUDAD OBREGON SONORA MEXICO! : )

private TextField textField() {
if (textField == null) {
textField = new TextField();
textField.setBounds(new Rectangle(175, 21, 183, 29));
textField.addTextListener(new java.awt.event.TextListener() {
public void textValueChanged(java.awt.event.TextEvent e) {
if(textField.getText().length()>=21){// PARA CAPTURAR SOLO 10 CARACTERES
String texto="";
for(int i=0;i<20;i++) //CAPTURAR DE FORMA AUXILIAR ESOS 10 CARACTERES
texto+=textField.getText().charAt(i);
textField.setText(texto);
textField.setCaretPosition(20); //POSICIONAR EL CURSOR EN EL FINAL DEL DIGITO 10
}
}
});
}
return textField;
}

  Respuesta:  Rafael Hernamperez Martin
Hola, amigo,

Por lo que puedo deducir estas utilizando AWT y no Swing.

Lamentablemente, este comportamiento ha de controlarse mediante codigo.

Te puedo aconsejar este metodo:

1) Utilizar una variable de tipo String que contenga una copia del contenido del TextField, limitado a los caracteres deseados.
2) Controlar el evento KeyDown o KeyPress, con el fin de saber cuando pulsas una tecla.
3) Volcar el contenido del TextField a la variable y gestionar dicho contenido.
4) Poner como contenido del TextField el valor final de la variable.

Puede haber otros metodos, pero este es bastante sencillo. Espero que te ayude.

Un saludo