Aquíen corresponda: KeyEvent & JTextField

leon_pp36
28 de Junio del 2005
Saludos.

Tengo un JTextField al que agregué un addKeyListener(new ClsValidacion()), el cual ClsValidacion es una clase aparte, por qué aparte?, por que la voy a ocupar en otras cosas, por que no quiero meterle siempre el mismo código, y por eso la hice una clase aparte (ya que siempre se va a ejecutar el misma rutina de validación de caracteres), es decir esa clase valida la fecha y que no metan String si no únicamente números. La pregunta seria como le puedo regresar al JTextField la cadena de ClsValidacion. Aquí esta el código de cómo lo estoy realizando.

ClsFecha
----
---
jTftexto[0].addKeyListener(new ClsValidacion());

ClsValidacion

public class ClsValidacion extends KeyAdapter{
public String fecha = "";
private char c;
private int entra = 0;

public void keyTyped(KeyEvent e){
c = e.getKeyChar();
fecha = fecha + c;
if (!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) ||(c == KeyEvent.VK_DELETE))){
e.consume();
}

if (fecha.length() > 7 ){
e.consume();
entra = 1;
}

if (fecha.length() == 8 && entra == 1){
fecha = fecha.substring(0,2)+"/"+fecha.substring(2,4)+"/"+fecha.substring(4,8);
Aqui como le regreso al fecha al texto o donde ;D


Gracias

drjustice
28 de Junio del 2005
Hola:
Todo evento es generado por un componente.. Cuando obtienes "e" del KeyEvent, puedes obtener el componente que generó el evento con: e.getComponent(); y luego de identificarlo como tu textfield, pasarle la fecha con .setText(fecha);
Espero que te haya servido.
Slds.

leon_pp36
28 de Junio del 2005
Gracias