Foros del Web » Programación para mayores de 30 ;) » Java »

Validar Caracteres Especiales en Java durante evento keytyped

Estas en el tema de Validar Caracteres Especiales en Java durante evento keytyped en el foro de Java en Foros del Web. Hola amigos hice una funcion que evalúa un caracter digitado en un jtextfield en el evento keytyped. La cuestion es que recorre un array de ...
  #1 (permalink)  
Antiguo 24/10/2011, 15:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 6
Antigüedad: 15 años, 6 meses
Puntos: 0
Información Validar Caracteres Especiales en Java durante evento keytyped

Hola amigos hice una funcion que evalúa un caracter digitado en un jtextfield en el evento keytyped.
La cuestion es que recorre un array de caracteres buscando coincidencias y si este no coincide con ninguno de los caracteres del array entonces es un caractér especial. este es el codigo de mi funcion en java:
Código:
public static boolean CarEsp(Character c) {
int x=0;
char Alfab[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'á','é','í','ó','ú','Á','É','Í','Ó','Ú','ü','Ü','.','1','2','3','4','5','6','7','8','9','0'};
int Longitud = Alfab.length;
for (int i = 0; i<=Longitud; i++) {
if(c!=(Alfab[i])){ /*aqui evaluo si elcaratér tipeado es distinto a los caracteres válidos*/
x= x++;
}
}if(x == Longitud){return true;}
/*si la cantidad de x es igual a la longitud del array, es especial
por que es distinto a todos los caracteres válidos, si concuerda con
almenos uno entonces si es caracter valido
*/
return false;
}
y esta es la forma como la utilizo en el jtextfield:

Código:
private void jTextField2KeyTyped(java.awt.event.KeyEv… evt) {
char kc = (char) evt.getKeyChar();
if(Validaciones.CarEsp(kc)== false){
Toolkit.getDefaultToolkit().beep();
evt.consume();
}
}
ahora bien el problema es ke no se que estoy haciendo mal por ke no reconoce ninguna tecla y todas las consume cuando lo que debería hacer es solo detectar y consumir el caracter especial.
Mil gracias por su atencion y pronta respuesta
  #2 (permalink)  
Antiguo 24/10/2011, 16:17
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Validar Caracteres Especiales en Java durante evento keytyped

int Longitud = Alfab.length;
for (int i = 0; i<=Longitud; i++) {
if(c!=(Alfab[i])){válidos*/
x= x++;
}

java.lang.ArrayIndexOutOfBoundsException




PD: para no ser tan abstractos.. tenés un error de lógica.
__________________
BadProgrammerException!
  #3 (permalink)  
Antiguo 25/10/2011, 09:09
 
Fecha de Ingreso: octubre-2008
Mensajes: 6
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Validar Caracteres Especiales en Java durante evento keytyped

gracias por dar algo de luz, ya encontré el error, yo ya sabía ke el error era de lógica más no de sintáxis, pero gracias por tirarme el dato:
java.lang.ArrayIndexOutOfBoundsException
el error consiste en que la variable está fuera de los límites del Arreglo.

Etiquetas: caracteres, durante, especiales, evento, keytyped
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:37.