Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2011, 17:53
danielagogomez
 
Fecha de Ingreso: marzo-2011
Mensajes: 97
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Problema con un TextField en java, usando netbeans

Hola, tengo un problema tengo dos textfields, y un label en los textfields, pongo unos numeros, los cuales sumo cada que se apriete una tecla, y la suma aparece en el label , pero tengo un problema, si en textfield1 pongo =123 y text2=456 label=579 lo cual esta perfecto, pero si por ejemplo al 123 le agrego un 8 asi: text1=1283 y text2 sigue=456 label=1694 (como si el 8 lo hubiera puesto hasta el ultimo de la cadena anterior) en vez de mostrar label=1739
Aqui les dejo mi codigo :
Código:
text2.addKeyListener(new java.awt.event.KeyListener() {
            public void keyTyped(KeyEvent e) {
            String cadena1=text1.getText().trim();
            String cadena2=text2.getText().trim();
            char i=e.getKeyChar();
            String str=Character.toString(i);
            Integer numero1 = null, numero2=null;
            boolean numeroscorrectos=true;
            try{
                numero1=Integer.parseInt(cadena1);

            }catch(NumberFormatException nfe){
                System.out.println("El caracter introducido en la casilla 1 no es numerico");
                numeroscorrectos=false;
            }
            try{
                numero2=Integer.parseInt(cadena2+str);
            }catch(NumberFormatException nfe){
                System.out.println("El caracter introducido en la casilla 2 no es numerico");
                numeroscorrectos=false;
            }
            if(numeroscorrectos){
                Integer suma=numero1+numero2;
                label.setText(Integer.toString(suma));
                numeroscorrectos=true;
            }
            else{
                System.out.println("nose que ondas");
                if(text1.getText().equals("")){
                    numero1=0;
                }
                else if(text2.getText().equals(""))
                    {
                        numero2=0;
                    }
                    else{
                        numero1 = Integer.parseInt(text1.getText());
                        numero2= Integer.parseInt(text2.getText());
                    }

              label.setText(Integer.toString(numero1+numero2));
                numeroscorrectos=true;
            }

      }