Reportes en Java (Parte III: Enlace)

   Una vez explicadas las partes de Instalación y Diseño de este tutorial, solo falta el código necesario para llamar el reporte generado, para ello crearemos una nueva clase, llamemosla "IniciarReporte", una vez en la clase el código es el siguiente:
package reportes;

import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
import net.sf.jasperreports.view.JRViewer.*;
import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;
/**
 *
 * @author Carlos Martinez
 */
public class IniciarReporte {
    Connection conn;
    public IniciarReporte(){
        try {
            Class.forName("org.gjt.mm.mysql.Driver");
            conn = DriverManager.getConnection(URL_MYSQL,USUARIO_MYSQL,CLAVE_MYSQL);
        } catch (SQLException ex) {
            Logger.getLogger(IniciarReporte.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(IniciarReporte.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void MiConsultaN(){
        try{
            String archivo = System.getProperty ("user.dir")+"\\src\\reportes\\MiReporte.jasper";
            System.out.println("Cargando desde: " + archivo);
            if(archivo == null){
                JOptionPane.showMessageDialog(null,"Error al generar reporte, verifique impresora\n", "Generar Reporte",JOptionPane.ERROR_MESSAGE);
            } JasperReport masterReport= null;
            try {
                masterReport= (JasperReport) JRLoader.loadObject(archivo);
            } catch (JRException e) {
                System.out.println("Error cargando el reporte maestro: " + e.getMessage());
                JOptionPane.showMessageDialog(null,"Error al generar reporte, verifique impresora\n","Generar Reporte",JOptionPane.ERROR_MESSAGE);
            }
            JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,null,conn);
            JasperViewer jviewer= new JasperViewer(jasperPrint,false);
            jviewer.setTitle("Titulo de mi Reporte");
            jviewer.setVisible(true);
        }catch (Exception j){
            System.out.println("Mensaje de Error:"+j.getMessage());
        }
    }
}
   Y para llamarlo colocamos en cualquier evento lo siguiente:
IniciarReporte jasper = new IniciarReporte();
jasper.MiConsultaN();
   Lo mas importante a destacar es lo siguiente: "System.getProperty ("user.dir")+"\\src\\reportes\\MiReporte.jasper", esto es para indicarle al programa donde esta el archivo del reporte, una vez creado el programa y compilado, deberemos copiar dentro de la carpeta el paquete o archivos de reportes y cambiar la línea de código por la siguiente: "System.getProperty ("user.dir")+"\\carpeta\\MiReporte.jasper", con esto ya estamos listos para generar los reportes.