Ir al contenido principal

IReport + Java - Ejemplo Parte 1


REPORTE EN JAVA + IREPORT DENTRO DE UN FORMULARIO

Este es un pequeño ejemplo de como trabajar reportes en java, utilizar el ireport ya sea como plugin dentro del Netbeans o externo. los dos funcionan de la misma manera, pero lo que vengo a mostrarles a continuación es como, poder montar un reporte en con extensión .jasper dentro de un Formulario ya sea un JDialogModal,  JFrame o un JInternalFrame, hasta en un jpanel. los pasos son muy parecidos. así que le explicare un ejemplo sencillo de como hacerlo.
Bueno a continuación veremos como lograrlo, pero para ello tenga en cuenta la secuencia de los pasos ok.

Paso nro 1: Este es el diseño que se quiere lograr.

Paso nro 2: Codificar la clase

package aq.reporte;

import aq.dao.BD;
import java.awt.Dimension;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JDialog;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JRViewer;

/**
 * @author Richard
 */

public class rptBalanceGeneral {
    
    private Connection cnn;
    
    public rptBalanceGeneral() {
        cnn = BD.getConnection();
    }
    
    public JRViewer runRBalanceGeneral(Date fechaApertura,JDialog inicio) {
        JRViewer viewer = null;
        try {
            String master = System.getProperty("user.dir") + "\\src\\aq\\reporte\\rptCuadreCaja.jasper";
            if (master == null) {
                System.out.println("no encuentro el archivo de reporte maestro");
                System.exit(2);
            }
            JasperReport masterReport = null;
            try {
                masterReport = (JasperReport) JRLoader.loadObject(master);
            } catch (JRException e) {
                System.out.println("error cargando el reporte maestro:" + e.getMessage());
                System.exit(3);
            }
            Map parametro = new HashMap();
            parametro.put("fechaApertura", fechaApertura);
            JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, parametro, cnn);
            if (jasperPrint.getPages().isEmpty() == false) {
                viewer = new JRViewer(jasperPrint);
                viewer.setOpaque(true);
                viewer.setVisible(true);
                viewer.setZoomRatio(Float.parseFloat("0.99"));
                viewer.setSize(new Dimension(1050, 580));
                viewer.setLocation(10, 100);
                inicio.getContentPane().add(viewer);
                inicio.pack();
            }
        } catch (Exception j) {
            System.out.println("mensaje de error:" + j.getMessage());
        } finally{
            try {
                cnn.close();
            } catch (SQLException ex) {
                System.out.println("mensaje :" + ex.getMessage());
            }
        }
        return viewer;
    }  
}


Paso nro 2: Codificar el Boton para cargar el reporte dentro del formulario.

Nota: Tener en cuenta la declaración de las variables jvRprtbgeneral y la clase rptBalanceGeneral().
          private rptBalanceGeneral rptbgeneral;
          private JRViewer jvRptbgeneral;

Espero que les sea de mucha ayuda :), y les sirva para sus proyectos que están iniciando :), ya que este ejemplo no solo carga el reporte dentro de un formulario sino, que también valida la si el reporte hay documento y te envía un mensaje.



Comentarios

Entradas más populares de este blog

Sistema de Ventas - Java

Este sistema de ventas esta desarrollado en java, utilizando como editor de lenguaje de programación NetBeans, la cual puedes conseguirlo gratuitamente desde su web oficial :  http://netbeans.org/downloads/index.html . Bueno el sistema no esta terminado pero ayudara a muchos a solucionar sus problemas de desarrollo en java como cargar imágenes a un jpanel desde un directorio, agregar datos jtable, consultas básicas en java conectados directamente a un gestor de base de datos " MYSQL ", que por cierto el scrip de la base de datos lo he subido junto con los archivos del sistema, también hay un ejemplo simple, utilizando reportes en java con ireport y jasperreport. bueno espero que les pueda ayudar en cualquier duda que tenga sobre como utilizar diferentes componentes que tiene java, con la finalidad de poder desarrollar un buen aplicativo que ustedes tengan en mente. Verdad me olvidaba si dese an visualizar el ejemplo de reportes...

SISTEMA DE PUNTO DE VENTA ONLINE - V2

Es una plataforma web que te permite administrar fácilmente tus ventas y poder administrar productos. Está plataforma es una versión actualizada de la versión 1  , la cual tiene más funcionalidades como control de inventarios, una interfaz mas amigable y mejorada. A continuación te mostraré puedes ingresar a la plataforma a través del siguiente enlace :  Sistema de Ventas V2 Puedes adquirir el software, realizando tu compra mediante paypal. haciendo click en el enlace "Buy Now", una vez realizado tu compra, tendrás que enviar la imagen del boucher generado al siguiente correo ricoru21@gmail.com.

Crear mi primero Proyecto en PHP - Básico

En este post, quiero compartirles un pequeño proyecto que hice hace 2 años atrás, es un proyecto en PHP básico programado desde cero, sin utlizar ningún framework, En este proyecto se utiliza javascript, html con boostrap 2.0, y  otras herramientras que ustedes podrán apreciar en el proyecto. A continuación le mostraré algunos pantallazos de cómo está elaborado el sistema: Lista de Información Formulario de Registro Para finalizar les estoy dejando el link del proyecto: https://goo.gl/iU37MX Gracias espero que les aya servidor de mucho en este mundo de la programación, sin mas les dejo otro link donde pueden ver un poco mas sobre el proyecto, una pequeña explicación gracias. Link de Explicación del Funcionamiento del Programa (Video): https://youtu.be/tFGx-ZhoYNg