private void btnReporteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnReporteActionPerformed

        final int totalFilas = this.table_ticket.getRowCount();
        if (totalFilas > 0) {
            this.progress_bar.setVisible(true);
            this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        //Fechas
                        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
                        String desde = sdf.format(txt_fechadesde.getDate());
                        desde = desde.replace("/", "-");
                        String hasta = sdf.format(txt_fechahasta.getDate());
                        hasta = hasta.replace("/", "-");
                        String codigoLineaArea = comboLineasModel.getCodigoLinea(list_lineaerea.getSelectedIndex());

                        
                        //String directorioFijo = "C:\\Users\\Alberto\\Desktop\\Proyectos\\oris-tkt\\src\\oris\\reports\\AnalisisVentas.jasper";
                        
                        String directorio = System.getProperty("user.dir");
                        
                        System.out.println("Cargando archivo desde: " + directorio+"\\cargador-reportes\\AnalisisVentas.jasper");
                        JasperReport jr = null;
                        try {
                            jr = (JasperReport) JRLoader.loadObjectFromFile(directorio+"\\cargador-reportes\\AnalisisVentas.jasper");
                        } catch (JRException jrex) {
                            System.out.println("Falla al cargar el reporte: "+jrex.getMessage());
                            JOptionPane.showMessageDialog(null, "Falla al cargar el reporte, archivo en cargador-reporte no encontrado", "Error de carga", JOptionPane.ERROR_MESSAGE, null);
                        }
                        
                        //Parametros
                        Map parametro = new HashMap();
                        parametro.put("fecha_desde", desde);
                        parametro.put("fecha_hasta", hasta);
                        parametro.put("codigo", codigoLineaArea);
                        System.out.println(parametro);
                        
                        
                        Conexion con = new Conexion();
                        System.out.println("Conectandome....");
                        JasperPrint jp = JasperFillManager.fillReport(jr, parametro, con.getConnection());
                        System.out.println("Conectado.");
                        JasperViewer jv = new JasperViewer(jp, false);
                        jv.setVisible(true);
                        jv.setTitle("Reporte");
                        con.closeConnection();

                    } catch (JRException ex) {
                        System.out.println(ex.getMessage());
                    }

                    SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        progress_bar.setVisible(false);
                        setCursor(Cursor.getDefaultCursor());
                    }
                }); 
                }
            }).start();
        } else {
            JOptionPane.showMessageDialog(null, "Primero debe realizar una búsqueda");
        }

    }//GEN-LAST:event_btnReporteActionPerformed