Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/03/2011, 02:42
javiDP
 
Fecha de Ingreso: febrero-2008
Ubicación: Sevilla
Mensajes: 91
Antigüedad: 16 años, 2 meses
Puntos: 15
Respuesta: Duda con el jtextfield en java netbeans!!

Yo lo haria de la siguiente manera. En el evento keyTyped, no compruebes la letra que es, simplemente traete la cadena de los cuadros de texto y te los metes en 2 stings. Luego le haces un cadena1.trim(); y =cadena2.trim(); y compruebas con un if si estan vacias. Despues, si no estan vacias, haces un try catch y dentro haces numero1=Integer.parseInt(cadena1); y en el catch capturas la NumberFormatException, de tal manera que si salta la excepcion porque no es un numero, muestres un mensaje de que el texto introducido no es numerico. Luego lo mismo para el numero 2. Tambien has de llevar una variable booleana de inicio a true que te diga si los numeros son correctos, de tal forma que si salta la excepcion en alguno de los 2 casos, te lo ponga a false.

Despues solo es poner otro if que compruebe la booleana, si es correcta te suma numero1 y numero2 y te lo pone en el label. Si no no hace nada. Ejemplo:

Código Java:
Ver original
  1. public void keyTyped(KeyEvent e) {
  2. String cadena1=textfield1.getText().trim();
  3. String cadena2=textfield2.getText().trim();
  4. Integer numero1, numero2;
  5. boolean numeroscorrectos=true;
  6.  
  7. try{
  8. numero1=Integer.parseInt(cadena1);
  9. System.out.println("El caracter introducido en la casilla 1 no es numerico");
  10. numeroscorrectos=false;
  11. }
  12.  
  13. try{
  14. numero2=Integer.parseInt(cadena2);
  15. System.out.println("El caracter introducido en la casilla 2 no es numerico");
  16. numeroscorrectos=false;
  17. }
  18.  
  19. if(numeroscorrectos){
  20. Integer suma=numero1+numero2;
  21. label.setText(Integer.toString(suma));
  22. numeroscorrectos=true;
  23. }
  24.  
  25. }
Esto cada vez que se pulse una tecla en los textFields. Espero que se entienda, un saludo!