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:
La clase validar entero extiende de KeyAdapter y tiene:JTextField ruc=new JTextField(10); ruc.addKeyListener(new ValidarEntero()); ruc.addFocusListener(new ValidarCedula());
Código:
Esto es solo para aceptar números, pero cuando pierde el foco está la clase validarcedula extiende de FocusAdapter y tiene:public void keyTyped(KeyEvent e) { char caracter=e.getKeyChar(); if((caracter<'0')||(caracter>'9')) { e.consume(); e.setKeyChar(null); } }
Código:
El problema es que se muestra dos veces seguidas el mensaje, alguien me puede ayudar a resolver este problema.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); } }
De antemano Muchas Gracias...