private void btnAgregarLabActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnAgregarLabActionPerformed
    DefaultTableModel modeloTabla = (DefaultTableModel) tblLaboratorio.getModel();
    GestorHibernate gestorH = new GestorHibernate();
    int campo = gestorE.campoObligatorio(txtRazonSocial, txtCalle);
    if (campo == 0) {
      Object fila[] = {
        txtRazonSocial.getText(), cmbEspecialidad.getSelectedItem(), cmbLocalidad.getSelectedItem()
      };
      modeloTabla.addRow(fila);
      tblLaboratorio.setModel(modeloTabla);

      // Boton nuevo
      if (editar == false) {
        Laboratorio laboratorio = new Laboratorio();
        laboratorio.setRazonSocial(txtRazonSocial.getText());
        laboratorio.setEspecialidad((EspecialidadLaboratorio) cmbEspecialidad.getSelectedItem());
        laboratorio.setTelefono(txtTelefono.getText());
        laboratorio.setTipoTel((TipoTelefono) cmbTipoTel.getSelectedItem());
        Domicilio domicilio = new Domicilio();
        domicilio.setCalle(txtCalle.getText());
        domicilio.setNumero(Integer.parseInt(txtNum.getText()));
        domicilio.setBarrio((Barrio) cmbBarrio.getSelectedItem());
        laboratorio.setDomicilio(domicilio);

        gestorH.guardarObjeto(laboratorio);
      }

      // Boton editar
      else {
        Iterator ite = gestorH.listarClase(Laboratorio.class).iterator();
        while (ite.hasNext()) {
          Laboratorio l = (Laboratorio) ite.next();
          if (l.getRazonSocial().equalsIgnoreCase(txtRazonSocial.getText())) {
            l.setRazonSocial(txtRazonSocial.getText());
            l.setEspecialidad((EspecialidadLaboratorio) cmbEspecialidad.getSelectedItem());
            l.setTelefono(txtTelefono.getText());
            l.setTipoTel((TipoTelefono) cmbTipoTel.getSelectedItem());
            Domicilio domicilio = new Domicilio();
            domicilio.setCalle(txtCalle.getText());
            domicilio.setNumero(Integer.parseInt(txtNum.getText()));
            domicilio.setBarrio((Barrio) cmbBarrio.getSelectedItem());
            l.setDomicilio(domicilio);
            gestorH.actualizarObjeto(l);
          }
        }
      }
      txtRazonSocial.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
      txtCalle.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));
    }
    editar = false;
  } // GEN-LAST:event_btnAgregarLabActionPerformed
 public Domicilio guardarDomicilio(
     String barrio, String calle, String departamento, String numero, String piso) {
   Domicilio domicilio = new Domicilio();
   Iterator ite = this.listarClase(Barrio.class).iterator();
   while (ite.hasNext()) {
     Barrio b = (Barrio) ite.next();
     if (b.getNombreBarrio().equalsIgnoreCase(barrio)) {
       domicilio.setBarrio(b);
     }
   }
   domicilio.setCalle(calle);
   domicilio.setNumero(Integer.parseInt((numero)));
   domicilio.setDepartamento(departamento);
   domicilio.setPiso(Integer.parseInt(piso));
   this.guardarObjeto(domicilio);
   return domicilio;
 }