Hola, que tal, saludos,
tengo una aplicación gráfica que tengo que presentar y necesito ayudar:
Estoy trabajando con un JFrame, y dentro del mismo con un JInternalFrame en el JInternalFrame tengo un JPanel, aqui viene lo bueno, tengo un JTextField el cual solo aceptar números y cuando pierde el foco tiene que verificar si la información ingresada está correcta o no, alli les va el código
Código:
JTextField ruc=new JTextField(10);
ruc.addKeyListener(new ValidarEntero());
ruc.addFocusListener(new ValidarCedula());
La clase validar entero extiende de KeyAdapter y tiene:
Código:
public void keyTyped(KeyEvent e) {
char caracter=e.getKeyChar();
if((caracter<'0')||(caracter>'9')) {
e.consume();
e.setKeyChar(null);
}
}
Esto es solo para aceptar números, pero cuando pierde el foco está la clase validarcedula extiende de FocusAdapter y tiene:
Código:
public void focusLost(FocusEvent e) {
String ruc=((JTextField)e.getSource()).getText(); //retorna el texto
if (!(Persona.validarRuc(ruc))&& { //compara que el texto esté bien ingresado (si es que está bien ingresado debuelve true, y se niega y no entra en el buble), y si no lo está entra aquí
String mensaje= "El número de cédula ingresado\n"+((JTextField)e.getSource()).getText()+"\nes incorrecto." +
"\nVerifique el número de la Cédula";
((JTextField)e.getSource()).selectAll();
((JTextField)e.getSource()).requestFocus();
JOptionPane.showMessageDialog(this.j,mensaje, "Error en la Cédula", JOptionPane.ERROR_MESSAGE);
}
}
El problema es que se muestra dos veces seguidas el mensaje, alguien me puede ayudar a resolver este problema.
De antemano Muchas Gracias...

