Java - ayuda con textField

 
Vista:

ayuda con textField

Publicado por cecilia (73 intervenciones) el 24/10/2008 13:46:19
hola soy cecilia y tengo un problema con los textfield, estoy haciendo una plicación (en NetBeans) donde tengo armado un formulario (mediante un conjunto de TexttField) mi problema es que quiero que cuando el usuario ingrese en un textfield un numero negativo le muestr un error!!! ..lo que hice fue utilizar la clase JOptionPane pero me muestra el error cuando luego d escribir en el textfield presiono enter...yo quiero que una vez que termine de escribir en el textfield automáticamente muestre el error sin tener que apretar enter o agregarle algun boton...

Si alguien me puede ayudar!!!!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con textField

Publicado por Mario (199 intervenciones) el 24/10/2008 14:19:29
Haz la comprobación en el evento KeyTyped del TextField. Ahí compruebas que lo que haya escrito sea un número negativo cada vez que el usuario pulse una tecla. Es decir... si está escribiendo el -123, nada más que escriba el -1 ya podrías señalar el error.
Otra forma no se me ocurre, ya que realmente no sabes en qué momento el usuario ha terminado de escribir un número.
Si no quieres que salga antes de que el usuario termine... podrías usar un timer, y dar 3 o 4 segundos de margen tras la pulsación de la tecla, antes de hacer la comprobación.
Si no comprendes algo o no te sirve la solución... avísame e intentamos alguna otra cosilla ; )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

DUDA

Publicado por cecilia (73 intervenciones) el 24/10/2008 15:12:54
te entinedo tu respuesta ppara los numeros negativos me va a servir pero tengo que agregar otros errores..haber si logro explicarme..yo los errores los programe mediante un código como este:

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
try {

String valor=jTextField2.getText();
int n_valor= Integer.parseInt(valor);

if (n_valor <= 0)
JOptionPane.showMessageDialog(null,"El valor debe de ser positivo","Valor Incorrecto",JOptionPane.ERROR_MESSAGE);

} catch (Exception e) {
// Handle exception
}
}

y esto funciona pero sólo si presiono Enter en el textField luego de cambiar el valor, lo que yo deseo que el error se muestre sin la necesidad de presionar Enter, es decir que cuando el usario luego de ingresar un númeo realize otra accion y no lo deje porque ingreso mal el tetxtField...pero no logro hacerlo...

Si no lo sabes no te preocupes seguiré investigando como lograrlo GRACIAS POR TU RESPUESTA!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con textField

Publicado por cecilia (73 intervenciones) el 24/10/2008 16:04:39
te entinedo tu respuesta ppara los numeros negativos me va a servir pero tengo que agregar otros errores..haber si logro explicarme..yo los errores los programe mediante un código como este:

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
try {

String valor=jTextField2.getText();
int n_valor= Integer.parseInt(valor);

if (n_valor <= 0)
JOptionPane.showMessageDialog(null,"El valor debe de ser positivo","Valor Incorrecto",JOptionPane.ERROR_MESSAGE);

} catch (Exception e) {
// Handle exception
}
}

y esto funciona pero sólo si presiono Enter en el textField luego de cambiar el valor, lo que yo deseo que el error se muestre sin la necesidad de presionar Enter, es decir que cuando el usario luego de ingresar un númeo realize otra accion y no lo deje porque ingreso mal el tetxtField...pero no logro hacerlo...

Si no lo sabes no te preocupes seguiré investigando como lograrlo GRACIAS POR TU RESPUESTA!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con textField

Publicado por Mario (199 intervenciones) el 27/10/2008 09:29:10
Has metido tu código dentro de jTextField2ActionPerformed, pues... mételo dentro de jTextField2KeyTyped o jTextField2KeyPressed.

De esa forma tendrás todo tu control de errores al momento de presionar cualquier tecla, no solo enter. Y si necesitas saber en qué momento pulsa enter... también puedes hacerlo perfectamente, mirando si la tecla pulsada ha sido enter o cualquier otra.

Si sigues teniendo dudas no te cortes en preguntarme, xq yo he hecho cosillas similares en las que uso bastante esos eventos ; )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con textField

Publicado por cecilia (73 intervenciones) el 27/10/2008 12:26:02
hola Mario gracias por tus respuestas!!!!he logrado exitosamente lograr mis objetivos utlizando los eventos :KeyTyped y jKeyPressed. Muchas gracias!!!!!!!!!

Cecilia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar