Saludos desde Paraguay.. Una pregunta sobre java

Somos alumnos de Java y estamos diseñando un proyecto en java muy ambicioso para la Universidad donde estudiamos y trabajamos, y nos quedamos con una duda similar a la que usted había respondido a otra persona.
Consiste en saber como puedo a partir de un dato ingresado en un jtexfield 1 relacionarlo con un jtexfield 2
Ejemplo: en el jtexfield 1 ingreso el numero de cedula (que en otros países se denominan dni, en el nuestro es cedula de identidad que es igual al código de cada ciudadano) y quiero que en el jtexfield 2 aparezca el nombre de la persona que corresponde a ese numero de cedula.
La pregunta obedece a que tenemos estos datos en un combo actualmente y al marcar el numero de cedula de un combobox nos aparece efectivamente en otro jtexfield eso lo sabemos hacer, pero que pasa, el combobox no nos permite digitar el numero de cedula, ya que nos trae por defecto y se hace más lenta encontrar el numero de cedula antes que digitarla.
Desde ya muchas gracias.. Y saludos desde Paraguay...
Cristian Zayas & Arnaldo Ojeda

1 respuesta

Respuesta
1
El principio es básicamente el mismo y puede tener 2 enfoques, el primero seria que codificaran al momento de que el jtextfield perdiera el foco, cuando pierda el foco leen el contenido y obtienen el nombre, el segundo enfoque es que intercepten cada carácter que se esta escribiendo en el textfield, suponiendo que la cedula de identidad tiene un numero fijo de caracteres podrían empezar a buscar el nombre cuando lleguen a ese numero.
El enfoque del foco se logra registrándose al focuslistener, el de la captura de teclado al evento keylistener ambos disponibles en el jtextfield.
Si justamente al perder el foco o al darle enter, eso sabemos, los que no nos sale es como capturar los datos, o sea al poner el número de cédula que nos traiga en el otro jtexfield el nombre de la persona que tenemos registrado en nuestra base de datos con ese número de cédula, para luego cargar ambos jtexfield en un jtable. Pasar los datos a un jtable sabemos hacer. Pero lo que no sabemos es hacer que aparezca el nombre en el jtexfield 2 cuando digitimos el número de cédula en el jtexfield 1. No sabemos el código para hacerlo, que seguramente tiene que ser algo que capture.. y luego lo compare con nuestra base de datos, ¿es una instrucción sql? Tiene algún ejemplo de esto. Muchas gracias nuevamente por la deferencia.
Si alguna vez usted o alguien de su entorno, están de visita por Paraguay o algún País más cercano, nuestra universidad estaría interesada en poder contar con usted/es para dictar un seminario. Nuestra universidad hace seminarios constantemente con la idea de fortalecer el conocimiento de sus alumnos. Desde ya, el hecho de poder desarrollar java en nuestra Universidad ha significado todo un desafío, ya que muy pocas universidades todavía lo han llevado a cabo, por ser una lenguaje complejo, en cuanto a su aplicación y los recursos que requiere. En Paraguay estamos un poco atrasados todavía en cuanto a tecnología, pero esa barrera en nuestra universidad la estamos rompiendo. Muchas gracias realmente por su ayuda y su aporte.
Como bien mencionas tendría que ser una sentencia sql, voy a tratar de ejemplificar un poco con una especie de código java mezclado con pseudocodigo, la idea es darme un poco a entender y no tanto revolverlos.
Ya sea si lo hacen cuando se pierda el foco o al dar un enter el código es exactamente el mismo. Voy a suponer que todo lo encapsulan en un método que se llama recuperaNombre que es llamado desde el método que intercepta la perdida del foco o el enter, el código quedaría algo así
public void recuperaNombre(){
    // Recuperamos lo que escribio el usuario
    String cedula = jTextField1.getText();
    // La consulta sql
    String sql = "Select * from ciudadanos where cedula = ?";
    // Realizamos la consulta
    String nombre = BD.ejecutaConsulta(sql,cedula);
    // ponemos el nombre
    jTextField2.setText(nombre);
}
Por supuesto aquí estoy asumiendo que ya tienen la conexión a la base de datos y que existe un método llamado ejecutaConsulta, ¿qué acepta una cadena sql y un parámetro que sera usado para sustituir el? En el template de la consulta.
Es un ejemplo así rapido de como podrían lograrlo.
Excelente, lo ponemos en practica ya mismo, más claro, agua.
Muchísimias gracias!
Por cualquier [email protected]
Cristian Zayas & Arnaldo Ojeda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas