Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Programacion De 4500 Fingerprint Reader Digital Persona En Java Con Windows 7 –Parte 2

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

 Creamos un nuevo directorio o carpeta, que podremos llamar Formularios.

 Creamos un JFrame, que llamaremos CapturaHuella


En este punto no es necesario, dar ningún toque de apariencia a nuestro formulario, ya que
nos vamos a dedicar a desarrollar los métodos abstractos con las respectivas variables, y
además todo lo vamos a realizar en el espacio de Fuente del formulario, sin usar ninguna
clase, aunque para muchos no sea uno forma modulada de programar, pero con el fin de
explicar es mas q suficiente, y pues de ahí cada quien adapta su aplicación a como lo
requieran.

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.
Al aparecernos import com.digitalpersona…. quiere decir que está bien y podremos
continuar…

2. En el constructor del JFrame, antes de initComponents(); insertamos el siguiente


código con el fin de cambiarle el estilo visual a la aplicación.
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Imposible modificar el tema visual",
"Lookandfeel inválido.",
JOptionPane.ERROR_MESSAGE);
}
En este momentos nos sales una cantidad de errors y es porque no se han hecho los
imports correspondientes, asi que simplemente hacemos clic sobre el icono que
denota el error y se agregan los imports necesarios.

3. Ahora declaramos 5 variables principales para la captura, verificación, inserción y


template de la huella digital que se pretende capturar y también importamos los
imports que necesiten esas variables.
private DPFPCapture Lector = DPFPGlobal.getCaptureFactory().createCapture();
private DPFPEnrollment Reclutador =
DPFPGlobal.getEnrollmentFactory().createEnrollment();
private DPFPVerification Verificador =
DPFPGlobal.getVerificationFactory().createVerification();
private DPFPTemplate template;
public static String TEMPLATE_PROPERTY = "template";

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.

protected void Iniciar(){


Lector.addDataListener(new DPFPDataAdapter() {
@Override public void dataAcquired(final DPFPDataEvent e) {
SwingUtilities.invokeLater(new Runnable() { public void run() {
EnviarTexto("La Huella Digital ha sido Capturada");
ProcesarCaptura(e.getSample());
}});}
});

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;

Marcara errores en los metodos:


EnviarTexto();
ProcesarCaptura();
No importa porque ahora desarrollaremos estos métodos.
5. Antes de comenzar a crear el método EnviarTexto(), declararemos dos variable que
son las mas importante en el proyecto, y sirven para procesar las características de la
huella capturada, bien sea para verificarla o para crear una nueva e importamos los
imports necesarios para estas variables.

public DPFPFeatureSet featuresinscripcion;


public DPFPFeatureSet featuresverificacion;

6. Creamos el metodo ProcesarCaptura(); y para cada item donde presente error no se


les olvide importar los imports correspondientes.

Pero antes declararemos una serie de métodos que son llamados dentro de este método
de ProcesarCaptura.

public DPFPFeatureSet extraerCaracteristicas(DPFPSample sample, DPFPDataPurpose


purpose){
DPFPFeatureExtraction extractor =
DPFPGlobal.getFeatureExtractionFactory().createFeatureExtraction();
try {
return extractor.createFeatureSet(sample, purpose);
} catch (DPFPImageQualityException e) {
return null;
}
}

public Image CrearImagenHuella(DPFPSample sample) {


return DPFPGlobal.getSampleConversionFactory().createImage(sample);
}
public void DibujarHuella(Image image) {
lblImagenHuella.setIcon(new ImageIcon(
image.getScaledInstance(lblImagenHuella.getWidth(), lblImagenHuella.getHeight(),
Image.SCALE_DEFAULT)));
repaint();
}

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:

public void EnviarTexto(String string) {


txtArea.append(string + "\n");
}

También nos aparece un error y es porque no hemos añadido el objeto TextArea al


JFrame.

Pero todos esos errores de objetos, los resolveremos cuando dediquemos el tiempo de
organizar el espacio de captura de huella en el JFrame.

Continuamos declarando los métodos y en este caso continuamos con los métodos que
nos permiten que el lector de huella dactilar inicie para las capturas y/o para que pare.

public void start(){


Lector.startCapture();
EnviarTexto("Utilizando el Lector de Huella Dactilar ");
}

public void stop(){


Lector.stopCapture();
EnviarTexto("No se está usando el Lector de Huella Dactilar ");
}
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;

Lo cual nos creara los siguiente métodos:


public DPFPTemplate getTemplate() {
return template;
}

public void setTemplate(DPFPTemplate template) {


this.template = template;
}

Pero este ultimo lo modificamos, quedando asi:

public void setTemplate(DPFPTemplate template) {


DPFPTemplate old = this.template;
this.template = template;
firePropertyChange(TEMPLATE_PROPERTY, old, template);
}
Finalmente hemos terminado la creación del código de los métodos abstractos que vamos
a usar en esta segunda fase del artículos, pues ahora nos concentraremos en desarrollar la
interfaz del JFrame:
Volvemos a la vista de Diseño del JFrame, y desarrollaremos una interfaz similar a esta:

Agregamos Dos JPanel, uno panHuellas con dirección Norte, y otro panBtns con dirección
Sur.
Al panel de Huella Digital Capturada, le activamos el gestor de distribución BorderLayout y
agregamos otro JPanel, no interesa el nombre y también activamos un gestor de
distribución BordeLayout con una caracterictica de hundido y añadimos un JLabel que
llamaremos lblImagenHuella la cual se ajustara automáticamente al contendor del panel, y
le borramos el nombre:

Hasta este punto si volvemos a la vista de fuente nos daremos cuenta que ya se han
corregido los errores del método DibujarHuella();.

Para el panel de Acciones también activamos el gestor BorderLayout y agregaremos dos


paneles mas, aquí no interesan como se llamen.
En el primero añadiremos cuatros botones que se llamaran; btnSalir, btnGuardar,
btnIdentificicar, btnVerificar, esto tres últimos no serán usados en esta fase pero se
necestitan para que no se presente error en el fuente:

En el segundo JPanel, que agreguemos activamos también el gestor BorderLayout y


agregamos un JScrollPane que llamaremos txtArea.

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..!

También podría gustarte