Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/06/2011, 05:31
Avatar de pyanqn
pyanqn
 
Fecha de Ingreso: noviembre-2005
Mensajes: 331
Antigüedad: 19 años
Puntos: 8
Respuesta: Validar la longitud de un JTextField

Puedes crear un clase LimitadorCaracteres, así es como lo solucione:

public class LimitadorCaracteres extends PlainDocument {

private JTextField editor;
private int numeroMaximoCaracteres;

/**
* Crea una instancia de LimitadorCaracteres.
*
* @param editor Editor en el que se quieren limitar los caracteres.
* @param numeroMaximoCaracteres Número máximo de caracteres que queremos
* en el editor.
*/
public LimitadorCaracteres(JTextField editor, int numeroMaximoCaracteres) {
this.editor=editor;
this.numeroMaximoCaracteres=numeroMaximoCaracteres ;
}

/**
* Método al que llama el editor cada vez que se intenta insertar caracteres.
* El método comprueba que no se sobrepasa el límite. Si es así, llama al
* método de la clase padre para que se inserten los caracteres. Si se
* sobrepasa el límite, retorna sin hacer nada.
*/
public void insertString(int arg0, String arg1, AttributeSet arg2) throws BadLocationException {
if ((editor.getText().length()+arg1.length())>this.nu meroMaximoCaracteres)
return;
super.insertString(arg0, arg1, arg2);
}

}

USO:

JTextField textoLimitado = new JTextField();
// Se pone el limitador en el editor a 25 caracteres.
textoLimitado .setDocument(new LimitadorCaracteres(textoLimitado,25));
__________________
Software Neuquén