tambien quiero saber como hacer para q en un textfield solo se pueda ingresar numero y no letras
Actualizar:sera que me podrias dar un ejemplo de validar la informacion entrante para q solo se pueda ingresar enteros....gracias
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
Suponiendo que tus campos son: jText1 y jText2 lo harías así:
double val1 = Double.parseDouble(jText1.getText());
double val2 = Double.parseDouble(jText2.getText());
double suma = val1 + val2;
Si los quisieras sumar como enteros y no con decimales así:
int val1 = Integer.parseInt(jText1.getText());
int val2 = Integer.parseInt(jText2.getText());
int suma = val1 + val2;
Si el total lo quisieras poner en otro jTextField de tu pantalla, tendrías que convertirlo a String antes:
String valorTotal = Double.toString(suma);
o
String valorTotal = Integer.toString(suma);
Y asignarlo:
jTextSuma.setText(valorTotal);
En cuanto a como permitir solo capturar números, puedes hacer dos cosas:
1. Implementar un KeyListener para que valides en el momento en que se presiona una tecla y tomes la decisión de permitir o no el caracter, pero eso es un poco más complicado de explicar
2. En el momento en que vas a hacer la suma puedes validar el texto que se capturó para ver que sean solo números, y mostrar un mensaje de error cuando no lo son.
private void cant1KeyPressed(java.awt.event.KeyEvent evt) {
// aqui ponemos la validacion:
int k = (int) evt.getKeyChar(); //k = al valor de la tecla presionada
if (k >= 97 && k <= 122 || k >= 65 && k <= 90) { //Si el carácter ingresado es una letra
evt.setKeyChar((char) KeyEvent.VK_CLEAR); //Limpiar el carácter ingresado
JOptionPane.showMessageDialog(null, "No puede ingresar letras!!!", "Validando Datos",
JOptionPane.ERROR_MESSAGE);
}
if (cant1.getText().length() >= 10) {
evt.setKeyChar((char) KeyEvent.VK_CLEAR); //Limpiar el carácter ingresado
JOptionPane.showMessageDialog(null, "Ha excedido el número máximo de caracteres!!! (10)", "Validando Datos",
JOptionPane.ERROR_MESSAGE);
}
}
facil