Documente Academic
Documente Profesional
Documente Cultură
Continuando con el desarrollo de este articulo, en esta parte nos encargaremos quizás de
la parte más importante en el desarrollo del artículo, el cual hace referencia a la creación
de los métodos abstractos que se implementan para el correcto funcionamiento de la
previas captura de las huellas digitales por medio del lector, y nuestra tercera parte
estaremos desarrollando las parte de cómo guardar, autentificar y verificar huellas desde
la base de datos creadas en la primera parte, entonces sin más aquí vamos:
• Creamos un nuevo proyecto el IDE Netbeans 6.9.1
1. Verficamos que los .jar, que copiamos a los jre de java están correctamente instalados
y aceptados por el IDE de Netbeans para luego programarl IDE de Digital Persona.
Realizamos un pequeño import para darnos cuenta ha sido aceptado el IDE de
DigitalPersona.
4. Creamos los métodos abstractos, para la variable Lector, creando un Nuevo método
que podemos llamar Iniciar, en el cual vamos a colocar los distintos métodos programable
del lector, bien sea cuando ocurre la captura de la huella, cuando el lector se conecta o
desconecta, cuando se coloca el dedo o se retira y cuando se presenta algún error, estos
suelen ser los más importantes pero puede existir uno o dos más que para este ejemplo no
los tocaremos.
Lector.addReaderStatusListener(new DPFPReaderStatusAdapter() {
@Override public void readerConnected(final DPFPReaderStatusEvent e) {
SwingUtilities.invokeLater(new Runnable() { public void run() {
EnviarTexto("El Sensor de Huella Digital esta Activado o Conectado");
}});}
@Override public void readerDisconnected(final DPFPReaderStatusEvent e) {
SwingUtilities.invokeLater(new Runnable() { public void run() {
EnviarTexto("El Sensor de Huella Digital esta Desactivado o no Conecatado");
}});}
});
Lector.addSensorListener(new DPFPSensorAdapter() {
@Override public void fingerTouched(final DPFPSensorEvent e) {
SwingUtilities.invokeLater(new Runnable() { public void run() {
EnviarTexto("El dedo ha sido colocado sobre el Lector de Huella");
}});}
@Override public void fingerGone(final DPFPSensorEvent e) {
SwingUtilities.invokeLater(new Runnable() { public void run() {
EnviarTexto("El dedo ha sido quitado del Lector de Huella");
}});}
});
Lector.addErrorListener(new DPFPErrorAdapter(){
public void errorReader(final DPFPErrorEvent e){
SwingUtilities.invokeLater(new Runnable() { public void run() {
EnviarTexto("Error: "+e.getError());
}});}
});
}
Lector.addErrorListener(new DPFPErrorAdapter(){
public void errorReader(final DPFPErrorEvent e){
SwingUtilities.invokeLater(new Runnable() { public void run() {
enviarTexto("Error: "+e.getError());
}});}
});
}
Para este punto existen dos métodos que aun no hemos creado y aun después de
importar todos los imports necesarios que son:
import com.digitalpersona.onetouch.DPFPGlobal;
import com.digitalpersona.onetouch.DPFPTemplate;
import com.digitalpersona.onetouch.capture.DPFPCapture;
import com.digitalpersona.onetouch.capture.event.DPFPDataAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPDataEvent;
import com.digitalpersona.onetouch.capture.event.DPFPErrorAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPErrorEvent;
import com.digitalpersona.onetouch.capture.event.DPFPReaderStatusAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPSensorAdapter;
import com.digitalpersona.onetouch.processing.DPFPEnrollment;
import com.digitalpersona.onetouch.verification.DPFPVerification;
Aquí, nos daremos cuenta que marcara error y es por aun no hemos agregado un objeto a
JFrame creado, después nos encargaremos de esto.
public void EstadoHuellas(){
EnviarTexto("Muestra de Huellas Necesarias para Guardar Template "+
Reclutador.getFeaturesNeeded());
}
Aquí tambien nos aparece un error porque no hemos creado el método EnviarTexto();
Ahora lo creamos:
Por ultimo creamos los insertamos los códigos de getter() y setter() de la variable que
declaramos al inicio; private DPFPTemplate template;
Prescionamos Clic derecho sobre una area de en blanco de espacio de Fuente del JFrame
asi;
Hasta este punto si volvemos a la vista de fuente nos daremos cuenta que ya se han
corregido los errores del método DibujarHuella();.
Por ultimo podemos darnos cuenta que en la vista de fuente, ya se han corregido todos
los errores presentados, ahora solo nos queda programar simplemente en botón de Salir,
System.exit(0);
Ahora simplemente nos toca llamar a los métodos correspondientes en los eventos en
los que se abra o se cierre el JFrame:
Y tambien en el constructor del JFrame agregar después de initComponents();,
txtArea.setEditable(false);
NOTA: Recuerden que los otros botones por lo pronto no serán usados, mas sin embargo
se comportaran como si tuvieran alguna acción.
Eso es todo, espero le sirva y no olviden en comentar, nos vemos después con la parte de
Gurdar, Verificar e Identificar desde una BD.., SALUDOS JARC..!
Tambien les dejos un documento pdf con el desarrollo de esta segunda parte del Tutorial.
Aqui
Y lo que todos esperan, el codigo fuente, pues aqui se los dejo y espero por lo menos
comenten si de algo le ha servido. Aqui
Para todos aquellos que con tanta paciencia estuvieron pendientes del blog y de esta
entrada, espero culminar el año entregándoles la parte final de la programación del lector
digital persona 4500, es por ello que en esta ultima parte, centraremos la atención de
programar las huellas capturada desde el lector hacia o dirigida a una base de datos; como
base proyecto que en los que necesitemos estos métodos de guardar, verificar y verificar.
Por otra parte recordamos que en la parte 2, habíamos quedado hasta como mostrar en el
en el panel de JFrame la huella dactilar capturada por el lector, como además una área
de texto que nos permitía visualizar los distintos eventos que habíamos declarado para
el lector, y también la cantidad de huellas dactilares necesarias para construir un
template de una huella con el fin de que en esta parte, podamos guardarla, verificarla e
identificarla.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
No importa que marque que los import aun no esten usados, ya que esto lógico porque
aun no hemos declarado ninguna sentecia o varible que use estos imports.
• Declaremos estas variables después de la clase principal, que nos permitaran contener
los valores de la conexión de la BD, el servidor, user, password, etc.
Hay que recordar que los valores de estas variables pueden cambiar según la lógica de
programación de cada uno, y además de cómo tengan configurado Mysql en su equipo.
Por defecto estos son los valores con lo que la mayoría intalan mysql como además el
nombre de la BD que habíamos creado en la primera parte.
• Crearemos una función o método llamado conectar y otro desconectar, el cual contendrá
los parámetros de conexión y desconexión con la BD, como además un try catch que
permitirá capturar las excepciones que puedan presentar a la hora de intentar conectar con
la BD.
if (conn!=null){
System.out.println("Conección a base de datos listo...");
}
else if (conn==null)
{
throw new SQLException();
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, e.getMessage());
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "Se produjo el siguiente error:
"+e.getMessage());
}catch (NullPointerException e){
JOptionPane.showMessageDialog(null, "Se produjo el siguiente error:
"+e.getMessage());
}finally{
return conn;
}
}
3. Luego de haber creado la clase de ConexionBD, volvemos a la vista fuente del jframe
principal, e importamos el import que me permitara ver los procedimientos de la clase
conexionBD.
También declaramos un constructor que me permitirá llamar una nueva intancia de la
clase ConexionBD.
4. Ahora nos centraremos en crear cada método, para guardar, verificar e identificar la
huella dactilar capturada.
• Así que empezamos creando el método de guardarHuella.
/*
* Guarda los datos de la huella digital actual en la base de datos
*/
/**
* Verifica la huella digital actual contra otra en la base de datos
*/
public void verificarHuella(String nom) {
try {
//Establece los valores para la sentencia SQL
Connection c=con.conectar();
//Obtiene la plantilla correspondiente a la persona indicada
PreparedStatement verificarStmt = c.prepareStatement("SELECT huehuella FROM
somhue WHERE huenombre=?");
verificarStmt.setString(1,nom);
ResultSet rs = verificarStmt.executeQuery();
Cuando se crea este método también veremos algunos errores, por lo que al igual que en
el método anterior, importaremos los imports necesarios para corregir estos errores.
/**
* Identifica a una persona registrada por medio de su huella digital
*/
public void identificarHuella() throws IOException{
try {
//Establece los valores para la sentencia SQL
Connection c=con.conectar();
5. Finalmente, después de haber creado todo esto métodos, solo resta llamar los
respectivos métodos en los eventos cuando se presionen cada botón.
• Empezamos con el botón de Guardar.
guardarHuella();
Reclutador.clear();
lblImagenHuella.setIcon(null);
start();
----------------------------------------------------------------------------------------------------------
---
Eso es todo, espero le sirva y no olviden en comentar, nos vemos después cuando surja
una inquietud y podamos resolverla… SALUDOS JARC..!
Tambien les dejos un documento pdf con el desarrollo de esta ultima parte del Tutorial.
Aqui
Y lo que todos esperan, el codigo fuente, pues aqui se los dejo y espero por lo menos
comenten si de algo le ha servido. Aqui
¡feliz navidad a todas las familias de colombia y en especial aquellas que han sido
asotadas por estos desastres naturales, que recuerden que Dios nunca nos olvida.!