Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/11/2014, 12:27
demian_lm2004
 
Fecha de Ingreso: noviembre-2014
Mensajes: 15
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: DigitalPersona con applet

la segunda parte del codigo, no entraba todo

Cita:
jInternalFrame1Layout.setVerticalGroup(

jInternalFrame1Layout.createParallelGroup(javax.sw ing.GroupLayout.Alignment.LEADING)
.addGroup(jInternalFrame1Layout.createSequentialGr oup()
.addComponent(panHuellas, javax.swing.GroupLayout.PREFERRED_SIZE, 261, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addComponent(panBtns, javax.swing.GroupLayout.DEFAULT_SIZE, 175, Short.MAX_VALUE))
);

getContentPane().add(jInternalFrame1, java.awt.BorderLayout.CENTER);
}// </editor-fold>


private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}

private void btnGuardarActionPerformed(java.awt.event.ActionEve nt evt) {
guardarHuella();
Reclutador.clear();
lblImagenHuella.setIcon(null);
start();
}

private void btnIdentificarActionPerformed(java.awt.event.Actio nEvent evt) {
try {
identificarHuella();
Reclutador.clear();
} catch (IOException ex) {
Logger.getLogger(CapturaHuella.class.getName()).lo g(Level.SEVERE, null, ex);
}
}

private void jInternalFrame1InternalFrameOpened(javax.swing.eve nt.InternalFrameEvent evt) {
/* Iniciar();
start();
EstadoHuellas();
btnGuardar.setEnabled(false);
btnIdentificar.setEnabled(false);
btnSalir.grabFocus();*/
}
private DPFPCapture Lector = DPFPGlobal.getCaptureFactory().createCapture();
private DPFPEnrollment Reclutador = DPFPGlobal.getEnrollmentFactory().createEnrollment ();
private DPFPVerification Verificador = DPFPGlobal.getVerificationFactory().createVerifica tion();
private DPFPTemplate template;
public static String TEMPLATE_PROPERTY = "template";

public DPFPFeatureSet featuresinscripcion;
public DPFPFeatureSet featuresverificacion;
ConexionBD con=new ConexionBD();

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());
}});}
});

}

public DPFPFeatureSet extraerCaracteristicas(DPFPSample sample, DPFPDataPurpose purpose){
DPFPFeatureExtraction extractor = DPFPGlobal.getFeatureExtractionFactory().createFea tureExtraction();
try {
return extractor.createFeatureSet(sample, purpose);
} catch (DPFPImageQualityException e) {
return null;
}
}

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

public void EstadoHuellas(){
EnviarTexto("Muestra de Huellas Necesarias para Guardar Template "+ Reclutador.getFeaturesNeeded());
}


public void EnviarTexto(String string) {
txtArea.append(string + "\n");
}
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 ");
}
public void guardarHuella(){

ByteArrayInputStream datosHuella = new ByteArrayInputStream(template.serialize());
Integer tamañoHuella=template.serialize().length;

String nombre = JOptionPane.showInputDialog("Nombre:");
try {
//Establece los valores para la sentencia SQL
Connection c=con.conectarBD(); //establece la conexion con la BD
PreparedStatement guardarStmt = c.prepareStatement("INSERT INTO somhue(huenombre, huehuella) values(?,?)");
guardarStmt.setString(1,nombre);
guardarStmt.setBinaryStream(2, datosHuella,tamañoHuella);
//Ejecuta la sentencia
guardarStmt.execute();
guardarStmt.close();
JOptionPane.showMessageDialog(null,"Huella Guardada Correctamente");
btnGuardar.setEnabled(false);
} catch (SQLException ex) {
System.err.println("Error al guardar los datos de la huella.");
}finally{
}
}

public void identificarHuella() throws IOException{
try {
//Establece los valores para la sentencia SQL
Connection c=con.conectarBD(); //establece la conexion con la BD

PreparedStatement identificarStmt = c.prepareStatement("SELECT huenombre,huehuella FROM somhue");
ResultSet rs = identificarStmt.executeQuery();

while(rs.next()){
byte templateBuffer[] = rs.getBytes("huehuella");
String nombre=rs.getString("huenombre");
DPFPTemplate referenceTemplate = DPFPGlobal.getTemplateFactory().createTemplate(tem plateBuffer);
setTemplate(referenceTemplate);

DPFPVerificationResult result = Verificador.verify(featuresverificacion, getTemplate());
if (result.isVerified()){
JOptionPane.showMessageDialog(null, "Las huella capturada es de "+nombre,"Verificacion de Huella", JOptionPane.INFORMATION_MESSAGE);
return;
}
}
JOptionPane.showMessageDialog(null, "No existe ningún registro que coincida con la huella", "Verificacion de Huella", JOptionPane.ERROR_MESSAGE);
setTemplate(null);
} catch (SQLException e) {
System.err.println("Error al identificar huella dactilar."+e.getMessage());
}finally{
}
}

public void ProcesarCaptura(DPFPSample sample)
{
featuresinscripcion = extraerCaracteristicas(sample, DPFPDataPurpose.DATA_PURPOSE_ENROLLMENT);

featuresverificacion = extraerCaracteristicas(sample, DPFPDataPurpose.DATA_PURPOSE_VERIFICATION);

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

Image image=CrearImagenHuella(sample);
DibujarHuella(image);
btnIdentificar.setEnabled(true);

}catch (DPFPImageQualityException ex) {
System.err.println("Error: "+ex.getMessage());
}

finally {
EstadoHuellas();
switch(Reclutador.getTemplateStatus())
{
case TEMPLATE_STATUS_READY:
stop();
setTemplate(Reclutador.getTemplate());
EnviarTexto("La Plantilla de la Huella ha Sido Creada, ya puede Verificarla o Identificarla");
btnIdentificar.setEnabled(false);
btnGuardar.setEnabled(true);
btnGuardar.grabFocus();
break;

case TEMPLATE_STATUS_FAILED:
Reclutador.clear();
stop();
EstadoHuellas();
setTemplate(null);
JOptionPane.showMessageDialog(AppletJInternalFrame .this, "La Plantilla de la Huella no pudo ser creada, Repita el Proceso", "Inscripcion de Huellas Dactilares", JOptionPane.ERROR_MESSAGE);
start();
break;
}
}
}
public DPFPTemplate getTemplate() {
return template;
}

public void setTemplate(DPFPTemplate template) {
DPFPTemplate old = this.template;
this.template = template;
firePropertyChange(TEMPLATE_PROPERTY, old, template);
}

private javax.swing.JButton btnGuardar;
private javax.swing.JButton btnIdentificar;
private javax.swing.JButton btnSalir;
private javax.swing.JInternalFrame jInternalFrame1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblImagenHuella;
private javax.swing.JPanel panBtns;
private javax.swing.JPanel panHuellas;
private javax.swing.JTextArea txtArea;
// End of variables declaration
}