22/06/2011, 05:31
|
| | | 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)); |