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

Problema con Metodos.

Estas en el tema de Problema con Metodos. en el foro de Java en Foros del Web. Bien mi problema es el siguente. Tengo una clase llamada validador.java esta tiene un metodo que valida el tipo de cadena y retorna un valor ...
  #1 (permalink)  
Antiguo 17/08/2010, 07:14
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Problema con Metodos.

Bien mi problema es el siguente.
Tengo una clase llamada validador.java esta tiene un metodo que valida el tipo de cadena y retorna un valor poc cada tipo de cadena es decir se. son caractere,numericos. si la cadena esta vacia o si es muy extensa etc.
Todo me funcioan bien. Realiza la tarea Muy bien.A esta clase la llamo desde Un JFrame del siguente modo.

Código:
 VAL=new Validador();

public void Verificar() {
            VAL.ComprovarCampo(cadena);         ///Cadena es una variable publica de my JFRAME  //ADQUEIRE EL VALOR de uN JTextField ejem cadena=JtextFieldDescripcion.getText();
}


 private Validador VAL;
Bien todo funciona bien Si lo ago de este MODO.
El Problema surge cuando quiero acceder a la respuesta que me da el metodo. es decir que valor me retorna. retorna 1 si es solo carateres 5 si la cadena esta vacia etc.
Lo normal para saber eso seria esto.

Código:
public void Verificar() {
               VAL.ComprovarCampo(cadena);
               if(VAL.retornar==5){
               JtextFieldDescripcion.requestFocus();
               
               }     
  }
Bien ahora llamo a este metodo desde el LostFocus. de mi JtextField. y me respoponde 3 veces el metodo es decir se ejecuta 3 veces. alguein sabe por que?y Como Solucionarlo?

Por Ultimo Aca esta mi clase Validar
Código:
public void ComprovarCampo(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;
               retornar=1;
            ReiniciarBooleanas();
            return;
        }else if (algunDigito && algunaLetra){
            System.out.println("Aca tenemos numeros y letras");
            algunDigito=false;
            algunaLetra=false;
               retornar=2;
             ReiniciarBooleanas();
             return;
        }else if(algunaLetra ){
        System.out.println("Solamente letras");
            algunDigito=false;
            algunaLetra=false;
            ReiniciarBooleanas();
            retornar=3;
            return;
        }else if (!algunDigito && !algunaLetra){
            System.out.println("Cadena Vacia Metdo ComprovarTipoDeCadenaLostfocus ");
            ReiniciarBooleanas();
            retornar=4;
           JOptionPane.showMessageDialog(null, "Campo Vacio  " , "Atencion",
          JOptionPane.INFORMATION_MESSAGE);
             return;
        }

   if(cadena.length()>4){
   retornar=5;
    return;
     }
    }
Bien reiniciar Boleanas es un metodo que reinicia mis variables boleanas. es de tipo public por que utilizo ese metodo en varios metodos de la clase.
El principal problema es que cuando pregunto por el resultado que me retorna el metodo. si no pregunto y no ago ninguna accion No ai problema. Pero si quiero saber el Valor retornado Para emitir un mensaje o asignarle el enfoque a algun objeto ya me tira ese problema de repetirse varias veces.Pero si llamo desde mi lost focus y solo compruebo el tipo de cadena etc No me da error solo si queiro hacer algo con la respuesta.Ayundeme Gracias :)
  #2 (permalink)  
Antiguo 17/08/2010, 13:48
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con Metodos.

alguien sabe? :( porfa diganme si esta mal algo No soy un experto en java y Me complico Con coasa como esta :(
  #3 (permalink)  
Antiguo 17/08/2010, 14:54
 
Fecha de Ingreso: abril-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con Metodos.

Bien despues de probar ¡y probar y probar encontre un dato curioso. Este error solo me da si llamo al metod desde el lostFocus No me da en ningun otro lugar. :( Ideas?

Etiquetas: metodos
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 20:07.