Tengo un problema y me estoy volviendo loco para arreglarlo.
El problema es que tengo un proceso que es cuando pierda el foco de un textbox compruebe si su contenido es correcto y te de un mensaje de error.
El problema lo tengo que te da el mensaje de error, pero te deja el foco en el boton, checkbox o lo que sea que has pulsado y hasta que no vuelvas a pinchar en el no pierde el foco.
Supongo que se haga con la función lostfocus, pero es que nio se como funciona y además por internet te viene la función pero no te explica como se usa.
En internet viene que es así: lostFocus(java.awt.Event e, java.lang.Object o)
¿ Como hago para llamarla ?
¿ Cual es el evento y cual el objeto ?
Estoy usando componentes swing y este es él codigo del proceso:
void Textarray_focusLost(FocusEvent e) {
if (Textarray[elementoarray].getText().equals("")){
error = "Tienes que introducir una cantidad en ";
error = error + Boxarray[elementoarray].getText();
JOptionPane.showMessageDialog(null, error, "Fallo", JOptionPane.ERROR_MESSAGE);
}
else {
try {
String num = new String(Textarray[elementoarray].getText());
Integer aux = new Integer(num);
int numero = aux.intValue();
}
catch (NumberFormatException ex) {
error = "El valor introducido en ";
error = error + Boxarray[elementoarray].getText();
error = error + " no es numérico";
JOptionPane.showMessageDialog(null,error,"Fallo",J OptionPane.ERROR_MESSAGE);
}
}
}
LO quiero que haga es que cuando pierda el foco del textbox que compruebe su contenido y deje el foco en el textbox, no en el boton, array, ... que halla pulsado.