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";
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.
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;
}
}
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());
}
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");
}
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 ");
}
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;
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:
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:
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..!
DEDICADO A TODOS AQUELLOS QUE CON PACIENCIA ESPERARON AL DESARROLLO DE ESTA SEGUNDA PARTE, ESPERO PODER TENER LA ULTIMA PARTE LO ANTES POSIBLE, SALUDOS...
!EL CONOCIMIENTO AUMENTA CUANDO SE COMPARTE¡
JARC, gracias por tu aporte, esperamos ver terminado el tutorial, para así ver los inconvenientes que se puedan presentar.
ResponderBorrarSaludos
hola sera q me puedes enviar la parte de como guardar la huella en la BD ? por favor a mi correo adalitdazach@gamil.com te los agradeceria Saludos
ResponderBorrarHola bueno soy novato en esto quisiera q me ayudes con la extraccion del template de la huella no se como hacerlo q metodo utilizar por favor se te agradeceria mi correo es adalitdazach@gmail.com
ResponderBorrarHola amigo Jarc, te felicito por este tutorial te sacaste un 10, tengo un problema, no se como empezar a hacer la conexión a la DB, no se si me puedas ayudarme lo agradecería, aunque sea con un pequeño ejemplo...
ResponderBorrarJARC no se si tengas la parte 3 del tutorial, te agradecería si pudieras ayudarme con la conexión a la base de datos, mi correo es somderker18@gmail.com Gracias Saludos...
ResponderBorrarMe ayudara mucho en un proyecto de titulacion en el que usare para pruebas este reloj checador, aunque lo aplicare a un Reloj Checador SKSoftware de la Institucion... Gracias espero retribuir con los codigos de mi proyecto en la red cuando lo tenga termninado...
ResponderBorrarDe antemano muchas gracias brother.
Futuro Ing en Sistemas Computacionales
Hola a todos, espero para aquellos que no hallan podido descargar el sdk de la pagina oficial, aca les dejo el link del sdk.
ResponderBorrarlink:
http://www.fileserve.com/file/Bc8QgnU
NO SE LES OLVIDE QUE EL QUE TIENEN QUE EJECUTAR ES EL SETUP.EXE QUE ESTA EN LA CARPETA DEL SDK.
E INCLUSO EN LA CARPETA DOCS, ENCONTRARAN VARIOS PDF QUE SIRVEN DE GUIA PARA LOS PROCESOS DE INSTALACION Y PROGRAMACION EN VARIOS LENGUAJES, Y ESTOS PODRAN ENCONTRAR MAS CARACTERISTICAS DE LAS QUE HABIA MENCIONADOS EN OTRAS OCASIONES Y POR SUPUESTOS LOS OTROS DISPOSITIVOS COMPATIBLES CON EL SDK...
LO MALO PUEDE LLEGAR SER QUE ESTA EN INGLES, PERO ESTE ES TECNICO Y SE DEJA ENTENDER.
Saludos ING J@RC...
Hola, buen dia...
BorrarMuchas Gracias por tu aporte, me ha servido mucho en un proyecto de clase...
Por otro lado el link para descarga de SDK no funciona, para ver si me colaboras nuevamente de subirlo... Gracias
Compadre el link de la SDK esta caido... Buen dia! :D
BorrarAlguien tiene el SDK para descargar por favor. Gracias de antemano
BorrarHola Jair Rios tu aportacion es muy buena, la verdad me sirvio de mucho pero te hiso falta colocar un metodo afortunadamente lo encontre en tu codigo, para todos los que se dieron cuenta aqui pueden obtenerlo, esta copiado del codigo de jair un saludo y espero puedas editar tu entrada y colocar este pedaso para que todos puedan disfrutar de este manual al 100%, Saludos
ResponderBorrarpublic void ProcesarCaptura(DPFPSample sample)
{
// Procesar la muestra de la huella y crear un conjunto de caracterÃsticas con el propósito de inscripción.
featuresinscripcion = extraerCaracteristicas(sample, DPFPDataPurpose.DATA_PURPOSE_ENROLLMENT);
// Procesar la muestra de la huella y crear un conjunto de caracterÃsticas con el propósito de verificacion.
featuresverificacion = extraerCaracteristicas(sample, DPFPDataPurpose.DATA_PURPOSE_VERIFICATION);
// Comprobar la calidad de la muestra de la huella y lo añade a su reclutador si es bueno
if (featuresinscripcion != null)
try{
System.out.println("Las Caracteristicas de la Huella han sido creada");
Reclutador.addFeatures(featuresinscripcion);// Agregar las caracteristicas de la huella a la plantilla a crear
// Dibuja la huella dactilar capturada.
Image image=CrearImagenHuella(sample);
DibujarHuella(image);
btnVerificar.setEnabled(true);
btnIdentificar.setEnabled(true);
}catch (DPFPImageQualityException ex) {
System.err.println("Error: "+ex.getMessage());
}
finally {
EstadoHuellas();
// Comprueba si la plantilla se ha creado.
switch(Reclutador.getTemplateStatus())
{
case TEMPLATE_STATUS_READY: // informe de éxito y detiene la captura de huellas
stop();
setTemplate(Reclutador.getTemplate());
EnviarTexto("La Plantilla de la Huella ha Sido Creada, ya puede Verificarla o Identificarla");
btnIdentificar.setEnabled(false);
btnVerificar.setEnabled(false);
btnGuardar.setEnabled(true);
btnGuardar.grabFocus();
break;
case TEMPLATE_STATUS_FAILED: // informe de fallas y reiniciar la captura de huellas
Reclutador.clear();
stop();
EstadoHuellas();
setTemplate(null);
JOptionPane.showMessageDialog(CapturaHuella.this, "La Plantilla de la Huella no pudo ser creada, Repita el Proceso", "Inscripcion de Huellas Dactilares", JOptionPane.ERROR_MESSAGE);
start();
break;
}
}
}
MUCHAS GRACIAS DANIEL, TIENES LA RAZON EN EL ENTRADA NO PUBLIQUE ESTE METODO, PERO EN EL CODIGO DEL PROGRAMA ESTE SE ENCUENTRA, POR FORTUNA ESTUVISTES ATENTO NO SOLO A LA ENTRADA COMO TAL, SINO MIRAR DETALLADAMENTE EL CODIGO... TE AGRDEZCO TU OBSERVACION...
BorrarY PUES EN LOS SIGUIENTES DIAS ESTARE MODIFICANDO LA ENTRADA...
SALUDOS...
gracias Jair necesito un código para guardar la huella en postgres desde vb6.
Borrarmi correo lcastillor@dian.gov.co
ÑUIS IGNACIO CASTILLO (CUCUTA COLOMBIA)
hola que tal ... amigo segui todo tus tutoriales para crear el software de detector de huella pero me gustaria saber cuales son los pasos para convertir la aplicacion en applet ya que quiero visualizarla en la web... me seria de gran ayuda que me echaras la mano con eso porfa
ResponderBorrarTengo problemas con la conexion a Mysql
ResponderBorrarHola, estoy realizando un proyecto demostrativo en base al sdk griaulex que es compatible con este lector u.are.u 4500 sin embargo hay que instalar los drivers que vienen con el DigitalPersonax One Touch for Windows SDK 1.6.1 cuando adquiri el lector usado no me trajo el cd y he enviado varias solicitudes de descarga del mismo en la web de digitapersonal pero no obtengo respuesta.
ResponderBorrarSera posible que alguien que lo tenga pueda subirlo nuevamente a un servidor de descargas ? Se lo agradecería ya que estoy inhabilitado.
Hola!!!, tengo una pequeña pregunta; es posible controlar que la luz del Lector se apague?. De antemano gracias y Excelente trabajo!! muy bien explicado todo , felicidades!!
ResponderBorrarGracias tu tutorial me sirvio de mucho funciona exelente
ResponderBorrarBuenos días, soy estudiante de Ing. en sistemas y la verdad este blog me pareció excelente, tengo que realizar un proyecto de reloj checador y a un no consigo guardad a la base de datos espero alguien me pueda ayudar mi correo es manol.vicente@gmail.com
ResponderBorrarAmigo muchas gracias por tu codigo
ResponderBorrarya lo modifique para generar entradas y salidas de personal
crree unos esto en la bd
mira
SELECT * FROM somhue;
SELECT * FROM Prueba_persona;
SELECT * FROM eventoferia
CREATE TRIGGER trigger_log_users AFTER INSERT ON `somhue`
FOR EACH ROW
INSERT INTO Prueba_persona(`NombrePersona`, `idhuella`)
VALUES (new.`huenombre`, new.`id`)
DELIMITER $$
USE `marcaciones`$$
DROP PROCEDURE IF EXISTS `insertaevento`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertaevento`(IN codigo INT,fevento DATETIME)
BEGIN
INSERT INTO eventoferia (idPersona,fecha_evento) VALUES(codigo,fevento);
END$$
DELIMITER ;
DELIMITER //
CREATE PROCEDURE INSERTAEVENTO (IN CODIGO INT,FFECha DATETIME)
BEGIN
INSERT INTO eventosferia(idPersona,fecha_evento)VALUES(CODIGO,FFECHA);
END //
DELIMITER $$
CREATE PROCEDURE `marcaciones`.`EVENTOSSP`(evento INT (11) ,linea INT (11) ,seccion INT (11),codigo INT (11), fechai DATE,horai TIME,fechaf DATE,horaf TIME,
observacion VARCHAR (200),orden INT (11),fechap DATE,encargado INT (11),medida INT (11), fechaevento DATETIME,fecha_historial DATETIME,computador VARCHAR (100) )
BEGIN
INSERT INTO historial_eventos
(id_evento,id_lineaproduccion,id_seccion,id_codigo_parada,fecha_incial,hora_inicio,fecha_final,hora_final,observacion,numero_ordenproduccion,
fecha_produccion,id_encargado,id_unidadmedida,fecha_evento,fecha_historial,computador)
VALUES(evento,linea,seccion,codigo,fechai,horai,fechaf,horaf,observacion,orden,fechap,encargado,medida,NOW(), NOW(),hostname() );
END$$
DELIMITER ;
ahora estoy peleando para quitar el boton autenticar
y que me autentique solo con poner la huella sobre el lector
le estoy haciendo con un hilo en el escuchador pero nada
de antemano muchas gracias
quedo muy agradecido
att Ing Beimar trujillo
hOLA
ResponderBorrarDONDE SE DESCARGA EL SDK,
DONDE SE PUEDE DESCARGAR TODO EL EJEMPLO
FUNCIONA CON 4000B Fingerprint Reader Digital Persona En Java
Que tak mi amigo Jonny Julian Sanchez Gomez, te paso el link de donde podras descargar el SDK de Java, y en cuanto al funcionamiento con 4000B Fingerprint Reader Digital Persona no te aseguro su correto funcionamiento. Checate si el lector que tienes tiene las mismas librerias de el 4500 Fingerprint Reader Digital Persona. si tiene estas librerias GrFingerX, AxGrFingerXLib, AxGrFingerXCtrl, GrFingerXLib. es seguro que con ese lector podras realizar el sistema...
Borraruna disculpa no te envie el link del los SDK's de Java. http://www.griaulebiometrics.com/page/es/downloads de esa pagina podras decargar los SDK's segun tus requerimientos Espero harbete ayudado.....
BorrarMuchas falicidades Jair Alfonso Rios Carlys, Te agradesco he descardo los tutoriales para realizar el sistema en Java tengo un poco de conocimientos en java pero ahora lo tendre que estudiar a fondo. Gracias por compartir este Tema de la programacion y como dices es muy cierto. ¡¡EL CONOCIMIENTO AUMENTA CUANDO SE COMPARTE!!
ResponderBorrarLo requiero un applet, hay algun ejemplo.
ResponderBorrarGracias
Excelente aporte amigo mil gracias!!
ResponderBorrarmuy detallada la guia!
Hola JAIR me gustaria saber si ahi alguna forma de implementar algo parecido pero para web, digamos un applet o una aplicacion web hecha en java para poder usar estas librerias con el hardware.
ResponderBorrarmuchas gracias me ha sido de mucha utilidad, eres excelente en lo que haces.
ResponderBorrarHola me sale este error:
ResponderBorrarException in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: javax.swing.JScrollPane.append
at Formularios.CapturaHuella.EnviarTexto(CapturaHuella.java:231)
y la linea 231 esta esto: txtArea.append(string + "\n");
Y el generador de errores de NetBean dice cannon fin symbol append.
Por favor me ayudan soy novato en esto yo programo con PHP
Gracias
txtArea no es un JScrollPane sino un JTextArea.
BorrarHola tengo todo ya listo..pero cuando ejecuto el proyecto no lee el lector de huellas
ResponderBorrares digitalpersona u.are.u 4000b
Excelente mi amigo, me ha sido de mucha utilidad. Te felicito
ResponderBorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarHola que tal jair espero puedas ayudarme, sucede que me marca un error en la parte del metodo de EnviarTexto, el error me lo marca en la palabra 'string', crei que el problema era por la primer letra y lo cambia a 'String' pero continua el problema... que puedo hacer?
ResponderBorrarPublicar en estos blogs es un peligro
ResponderBorrarAmigo Excelente proyecto Felicitaciones ,discúlpame pero me podrías ayudar con esta error "Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: com.digitalpersona.onetouch.jni.JniException
ResponderBorrarat com.digitalpersona.onetouch.capture._impl.DPFPCaptureFactoryImpl$CaptureImpl.startCapture(DPFPCaptureFactoryImpl.java:187)
at Formularios.CapturaHuella.start(CapturaHuella.java:385)" yo estoy utilizando el DigitalPersona 4000b
Me sale el mismo error alguien ya logro resolverlo.?? Saludos
BorrarByteArrayInputStream datosHuella = new ByteArrayInputStream(template.serialize());
BorrarAmigo tengo el mismo error pero el codigo me sale en esa linea cuando voya obtener los datos de la huella. alguien ya lo soluciono.
Encontre la solucion al cerrar el Jframe llamar el metodo
Borrarpublic void stop(){
Lector.stopCapture();
EnviarTexto("No se está usando el Lector de Huella Dactilar ");
}
la variable reinicia y el error se soluciona cualquier duda ed_cnsgraf@hotmail.com
yo tambien tengo ese error y quiero sus ayudas porfa... luchowil@hotmail.com
Borrarpudiste resolver el problema osea el error es xq no captura verificar los metodos donde guarda la huella
BorrarEste comentario ha sido eliminado por el autor.
BorrarEste comentario ha sido eliminado por el autor.
BorrarEste comentario ha sido eliminado por el autor.
BorrarTengo el mismo error de Nilss Lopez.
Borrarpodrian ayudarme..
ame_1567@hotmail.com
carlos eduardo 12 de diciembre de 2014
ResponderBorrarjair alfonso rios soy estudiante de ingenieria de la unversidad unipanamericana en bogota colombia estoy interesado en toda la informacion de como programar el lector biometrico por que tengo un proyecto que realizar para lectura de huellas y guardarlas en la dase de datos le agradeceria enormemente si pudieras enviarme toda la informacion de como programar el lector al correo
carloseduardo_1968@hotmail.com
muy buenas
ResponderBorrarpana soy estudiante del sena regional choco. Quisiera que me colaborara en algo sobre este proyecto necesito que el software de lector de huellas apenas yo ponga el dedo en el lector el software haga una autoverificacion en la base de datos y me diga si la huella se encuentra y a quien pertenece.
bueno llamemoles una autoverificacion y omitir el boton verificar.
gracias seria de mucha ayuda porque estoy desarrollando un proyecto igual asi como el suyo
se puede comunicar conmigo por este correo: zero199211@hotmail.com
hola pudiste hacer lo que necesitabas.!!
BorrarBuen aporte .. los veo en la webdelprogramador y si quieren ganar dinero por internet de verdad escribanme a microcomputii@gmail.com
ResponderBorrarHermano descargue tu ejemplo y al monento dde ejecutarlo me dice en e jtextArea que el captahuella esta desconectado hice todas ls instalacionees del sdk incluyendo donde debo de poner las librerias pero nada, me puedes ayudar?? por favor
ResponderBorrarHola Amigos
ResponderBorrarComentarles que realice el escaneo de huellas dactilares pero desde un applet ahora los exploradores no soportan applets deseo incorporar esta funcion a la web existe alguna forma?
Muchas gracias por compartir. 04 Marzo 2016 Funciona perfecto. DigitalPersona 4500.
ResponderBorrarSaludos, estuve investigando y el lector de huella digital Persona al parecer no es compatible con Windows 10 y 8, me podrías decir si ¿¿¿hay manera de adaptarlo a estos sistemas operativos???, y ¿¿los archivos Jar que utilizas pueden ser compatibles con otros lectores ???.. de antemano muchas gracias ....
ResponderBorrardisculpa podrias proporcionarme el SDK a este correo por favor zavelzarock@gmail.com
ResponderBorrarEstimados, confirmo que el sistema de huella con el sdk y los codigos entregados en este ejemplo, son validos aunque le modifique algunos solamente funciona tanto en windows 10,8.1 y windows 7.
ResponderBorrarSaludos desde Chile
me puedes enviar el codigo a mi correo gracias quiero ver como gurdar las huellas en la base de datos nelson.o.vasquez@gmail.com
BorrarMe podrias enviar el codigo a mi correo, carlos_bedoya97@hotmail.com gracias.
BorrarHola, algun ejemplo o codigo para implementar el lector de huelas u are u 4500 con el sdk en el lenguaje de programacion javascript y php con formularios html.
ResponderBorrarsi alguien sabe algo mandarme su respuesta a mi correo se los agradeseria mucho
richardcasval@gmail.com
Nunca terminaste de crear el metodo procesarCaptura, me podrias ayudar en esa parte por favor?, aparte me da un error con el scrollpanel, dice que "alcanzó el final del archivo mientras analizaba", ayuda por favor.
ResponderBorrar