Si se supone que asi tendria que ser pero no ocuurre . Como te explique eso es lo que ocurre quizas sea por que cada vez se llama a ese metodo pero las variables estan fuera del metodo no dentro. son de tipo public para acceder desde otros metodos en la clase , de echo yo utilizo esas variablñes en 3 metodos. tambien tengo un constructor que me crea Dialogos dentro de la clase. estos los llamo al perder el enfoque de un campo es decir , valido mientras se escribe y al perder el enfoqe un objeto. es una doble validadcion. Mientras se escribe solo avisa o ayuda al ususario el otro no le permite equivocarse.. . Si declarop las variables dentro del metodo. como locales. eso si funcionaria. pero no lo hice hehe ya sabes porque.
e aqui mi otro metodo este lo llamo en el lostfocus.
Código:
public void ComprovarTipoDeCadenaLostfocus(String cadena){
{
for (int i = 0; i < cadena.length(); i++)
if (Character.isDigit(cadena.charAt(i))) {
algunDigito = true;
} else {
algunaLetra = true;
}
}
if(algunDigito && !algunaLetra){
System.out.println("TODO DIGITOS");
algunDigito=false;
algunaLetra=false;
String Objetus="MInconpatibleC"; //ESTABLESCO EL valor para construr un dialogo
CMD.Dialogo(valor,Objetus); //lamo al dialogo. Este responde con una variable que capturo desde el jframe.
}else if (algunDigito && algunaLetra){
System.out.println("Aca tenemos numeros y letras");
algunDigito=false;
algunaLetra=false;
String Objetus="MInconpatibleC+N";
CMD.Dialogo(valor,Objetus);
}else if(algunaLetra ){
System.out.println("Solamente letras");
algunDigito=false;
algunaLetra=false;
String Objetus="MInconpatibleN";
CMD.Dialogo(valor,Objetus);
}
}
Es por esto que pue lo reiniciio :)