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!!!