Ver Mensaje Individual
  #953 (permalink)  
Antiguo 11/01/2008, 20:12
Avatar de DestruKtor
DestruKtor
 
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 2 meses
Puntos: 4
Un poco de codigo nunca esta en mal

Hola a todos tanto tiempo,
pues aqui va una pequeña aportacion para todos los q recien comienzan y para los q no tanto, les dejo un ejemplo de una aplicación swing y JasperReport.

Primero que herramientas estoy usando:
Netbeans IDE 6.0
IReport 2.0.2
PostgreSQL 8.1

Librerias Necesarias, que se deben importar al Netbeans:

postgresql-8.2-506.jdbc3.jar
poi-2.5.1-final-20040804.jar
jdt-compiler-3.1.1.jar
jasperreports-1.3.1.jar
commons-beanutils-1.7.jar
commons-collections-3.2.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.0.2.jar

la mayoria de estas librerias las pueden encontrar en el directorio /lib del IReport y las demas, en San Google como el JDBC de Postgres o la BD que quieran.

Crean un Proyecto Swing, añaden las siguientes importaciones al formulario:

Código:
import java.sql.*;
import java.io.*;
import java.util.*;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
Crean un boton en el formulario y le añaden el codigo para cargar el reporte en la Accion:

Código:
    @Action
    public void VerReporte() throws JRException {
        //La Ruta de nuestro reporte
        String filejasper = "z:\\Test1.jrxml";
        
        try 
        {
            //Cargamos archivo fuente jxml.
            JasperDesign jasperDesign = JRXmlLoader.load(filejasper);
            
            //Compilar el Reporte.
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            
            //cargamos parametros del reporte (si tiene).
            Map parameters = new HashMap();
            parameters.put("REPORT_LOCALE",new java.util.Locale("es","CL"));
            parameters.put("parametro1","Hola Mundo!");
           
            //Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte).
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, getConnection());

            //Cargar reporte en el visor.
            JasperViewer jasperviewer = new JasperViewer(jasperPrint,false);
            
            //Le ponemos un titulo personalizado al visor, y desplegamos el reporte.
            jasperviewer.setTitle("Reporte de Prueba");
            jasperviewer.show();
            
        }
        catch(Exception e)
        {
         JOptionPane.showMessageDialog(mainPanel, e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE);   
        }
                

    }
y les dejo ademas la rutina de conexion con la BD, que mas

Código:
    public static Connection getConnection() throws ClassNotFoundException, SQLException {
        //Configuración de la conexión.
        String driver = "org.postgresql.Driver";
        String connectString = "jdbc:postgresql://localhost:5432/MiBaseDeDatos";
        String user = "postgres";
        String password = "xxxxxx";

        Class.forName(driver);
        Connection conn = DriverManager.getConnection(connectString, user, password);
        
        //Retornamos la conexión establecida.
    return conn;
    }
Bueno espero que les sea de utilidad para entender el funcionamiento basico del API JasperReport, y que sigan aportando tan buenas contribuciones como hasta ahora.

Saludos Cordiales!!!
__________________
Se Despide

DestruKtor