Wednesday, May 29, 2013

Wizard con NetBeans Platform en el Menu New de NetBeans

Crear un nuevo proyecto:
Categoría: NetBeans Modules Projects:Module

Indicamos el nombre
Indicar el Code Name Base

Clic derecho en el proyecto y seleccionar New-->Wizard

Wizard Type seleccionar New File y especificamos la cantidad de paginas

Asignamos el nombre de la clase , la categoría, y seleccionamos una imagen

El IDE crea el esqueleto del proyecto

Arrastramos algunos componentes al panel JSFGenVisualPanel1 desde la paleta

En el otro panel JSFGenVisualPanel2

en las propiedades del proyecto cambiamos el numero de versión


Creamos el NBM del proyecto y lo instalamos 




y seleccionamos el proyecto y  al seleccionar nuevo en la categoría Web que seleccionamos aparece nuestro wizard.


Se muestra el dialogo el primer panel

si presionamos el botón Next se mostrara el siguiente panel











Tuesday, May 28, 2013

Tutorial de IReport con NetBeans y DataClassG

Tutorial de IReport con NetBeans y DataClassG
PARA PROYECTOS ANT Y MAVEN
Descargar el plugin desde NetBeans




Instalamos el plugin para NetBeans



Carga el icono en el el ide










AGREGAR EL JAR DE UN PROYECTO ANT



Clic derecho y selecionar Clean and Build



En el Menú de NetBeans seleccionar Herramientas->Tools->Option->iReport ->Classpath



Agregar JAR en proyectos ANT




AGREGAR EL JAR DE UN PROYECTO MAVEN
Seleccionar Build with Dependencies





Se genera el archivo jar en el directorio target

En el Menú de NetBeans seleccionar Herramientas->Tools->Option->iReport ->Classpath





Seleccionamos el archivo jar



archivo







LIBRERÍAS PARA PROYECTOS ANT
Obtener las librerías de iReport y Jaspert
Descomprimimos el archivo, y nos ubicamos en el directorio
iReport-4.1.1->ireport->modules->ext
y seleccionamos
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
iText-2.1.7.jar
jasperreports-4.1.1.jar
jcommon-1.0.15.jar
jdt-compiler-3.1.1.jar
jfreechart-1.0.12.jar


y lo copiamos a un directorio llamado jasperReport para usarlos como librerías en NetBeans
Ahora creamos un proyecto Nuevo

Ahora en NetBeans seleccionamos Tools->Libraries

presionar el botón New Library

indicamos el nombre: jasperReport

Damos clic en el botón Ok y luego en
Seleccionamos los jar


Seleccionamos propiedades del proyecto y  agregamos los drivers de MySQL ,JaspertReports y el jar del proyecto de persistencia
.



Librería agregadas

DEPENDENCIAS PARA MAVEN

Ubicarse en Dependencias, clic derecho seleccionar Add Dependency...

En Query colocamos itext
Group id: com.lowagie
Artifact ID: itext

Query: commons-loggin

Query jasperreports




Query: jfreechart
Query: commons-collections



Diseñar el Reporte
Creamos un paquete nuevo para almacenar los reportes. org.testapplication.reportes





Nuevo->Report->Empty report






Colocamos el nombre usuarios






Diseñador



seleccionamos en la pestaña Reportes ->Reportes->Edit Query




















Seleccionar JavaBean DataSource-> en Class name colocar el nombre del beans correspondiente al proyecto de persistencia.

En este ejemplo org.testpersistence.beans.Usuarios y presionar el
botón Read attributes y seleccionar los atributos cedula y nombre y presionar el botón Add selected field(s), de manera que aparezcan en la parte inferior.


Ahora se muestran los campos

Arrastramos a la banda de Detalles

Ahora compilamos el reporte
 

Se genera el archivo usuarios.jasper



Agregar los import

import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
import org.data.generales.Mensajeria;

Invocamos el Reporte
           HashMap map = new HashMap();
           Usuarios usuarios = new Usuarios();
           UsuariosController uc = new UsuariosController();
           if (uc.selectAll()) {
             Imprimir(uc.getUsuarioslist(), map);
           } else {
               System.out.println(" no se puede listar");
           }

Creamos el método Imprimir()

private void Imprimir(List<Usuarios> aux, HashMap map) throws JRException {
     try {
            JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(aux);
//Indicamos la ruta del reporte
                InputStream reporte = (InputStream) getClass().getResourceAsStream("/org/testapplication/reportes/usuarios.jasper");
                if (reporte == null) {
                    Mensajeria.Mensaje("No se pudo cargar el reporte");
                } else {
                    JasperPrint print = JasperFillManager.fillReport(reporte, map, ds);
                    JasperViewer.viewReport(print, false);
               }
       } catch (Exception ex) {
              Mensajeria.MensajeError(ex, "Imprimir()");
       }
   }

Reporte

Recomendaciones:
1. Limpie el proyecto
2. Compile nuevamente el reporte cuando realice cambios.
3. Campos con ancho de 74. (Width 74) muestran 987654321.10



Formatearlo a dos decimales Pattern ###0.00



Agregando Parámetros




Cambiamos el nombre al parametro: p_entidad
Nota: usar p_nombredeparametr
o

Parametro creado








Arrastramos el parámetro al diseñador

Estos parámetros son agregados al HashMap
try {
         HashMap map = new HashMap();
           map.put("p_entidad", SesionLocal.getEntidad());
           Usuarios usuarios = new Usuarios();
           UsuariosController uc = new UsuariosController();
           if (uc.selectAll()) {
             Imprimir(org.facilscrum.beans, map);
           } else {
               System.out.println(" no se puede listar");
           }




o si deseamos pasar un solo registro en el reporte lo agregamos directamente.
HashMap map = new HashMap();
List<Usuarios> list= new ArrayList();
usuarios.setCedula(“7-117-816”);
usuarios.setNombre(“Aristides”);
list.add(usuarios);
       Imprimir(list, map);

       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "Imprimir()");
       }