NetBeans 6.0 + iReport

Actualizado el 26 de Noviembre del 2008

netbeans6

A partir de la versión 6.0 de NetBeans, realmente se añadieron herramientas y mejoras que fomentan la productividad, desde el ya incorporado con anterioridad, soporte para C/C++, ahora también para Ruby, SOA, UML. En el momento de actualizar este artículo la fecha en que se liberó la versión 6.5 aun es muy reciente y de igual forma, trae importantes mejoras, por ejemplo el soporte para PHP, Python y Groovy.

La descarga y demás caracteristicas de esta versión la pueden encontrar en aqui

¿iReport en NetBeans?

En efecto, los desarrolladores de iReport sacaron un plugin BETA para NetBeans Aunque aun esta en su versión beta preview, funciona bastante bien. Se espera que para Febrero de este 2008 salga la versión final a finales de Diciembre del 2007 y que vio la luz a finales de Febrero.

Para los recien llegados al lenguaje Java, sobre todo aquellos provenientes de .NET, seguramente ya se habrán preguntado si existe un Crystal Reports para Java! La respuesta es precisamente iReport. Pero iReport es solo un editor visual para generar los reportes por medio de la libreria JasperReport, es decir, quien realmente hace los reportes es JasperReport, solo que al inicio, pues resultaba igualmente tedioso el escribir código no solo Java, sino tambien XML. Por esta razón alguien penso en crear una herramienta con la cual se pudieran diseñar los reportes de manera visual haciendo uso de JasperReports, y es así como surgio iReport.

Después de todo esto, aun así para quienes usamos NetBeans como Entorno de Desarrollo quizá no era lo más adecuado tener que usar dos herramientas por separado, sin embargo en Febrero del 2008 que salio este plugin de iReport para NetBeans lo cuál es una genial noticia para toda la comunidad Java.

Pueden descargar el plugin aqui

Una vez descargado, para instalarlo basta abrir NetBeans 6.0 e ir al menú Tools–plugins y en la pestaña de downloaded agregar el plugin de iReport.

Con esto no tienen excusa los programadores de otros lenguajes que les ha pasado por la cabeza probar algo de Java pero por temor o mitos de que Java es muy dificil y complicado no lo han hecho. Se tiene a la mano herramientas libres como el IDE NetBeans que les permitirá crear las GUI (Interfaces Gráficas de Usuario) usando el Drag&Drop (arrastrar y soltar) al estilo Visual Basic y ahora con este nuevo plugin de iReport, podrán diseñar los reportes visuales de manera más fácil!

A CONTINUACIÓN LES DEJO EL LINK SOBRE UN PEQUEÑO TUTORIAL DONDE EXPLICO COMO GENERAR LOS REPORTES EN JAVA DESDE NETBEANS CON ESTE PLUGIN:

http://mundobyte.wordpress.com/2008/01/05/creacion-de-reportes-en-java-parte-i/

31 comentarios

  1. [...] de Reportes en Java – Parte I Publicado el Enero 5, 2008 por windoctor En este post hablaba sobre la incorporación de iReport a NetBeans 6.0 con el plugin que sacaron los mismos [...]

  2. Hoolas muy buena tu explicacion!…pero segui tus pass.. pero cuando voy a crear una conexion..netbeans larga una exepcion…

    java.lang.NoSuchMethodError: javax.swing.JDialog: method (Ljava/awt/Window;)V not found
    at com.jaspersoft.ireport.designer.connection.gui.ConnectionsDialog.(ConnectionsDialog.java:56)
    at com.jaspersoft.ireport.designer.menu.DatasourcesAction.performAction(DatasourcesAction.java:12)
    at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:118)
    at org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77)
    at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:114)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
    at java.awt.Component.processMouseEvent(Component.java:5517)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
    at org.openide.awt.ToolbarButton.processMouseEvent(ToolbarButton.java:61)
    at java.awt.Component.processEvent(Component.java:5282)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3984)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3819)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1791)
    at java.awt.Component.dispatchEvent(Component.java:3819)
    [catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    agradeceria tu ayuda…
    desde ya..muchas gracias!

  3. Las excepciones de tipo NoSuchMethodError ocurren cuando se manda a llamar a un método dentro de una clase que recibe un parámetro y el parámetro pasado NO corresponde con el definido en el método.

    Pese a esto, el error es algo extraño. Podria comentar o si es posible mejor aún, mandar una imágen al momento de que le aparece dicho error, es decir, requiero saber si la excepción es lanzada al momento que usted da click al menú Data–Connections/DataSources ????

    El error me hace pensar que quizá el plugin no fué instalado correctamente, revise en el menú Tool–plugin que esta instalado, incluso puede intentar desinstalar e instalar nuevamente el plugin.

    En un caso más extremo, intente desinstalar NetBeans 6.0 y vuelva a instalar.

    Saludos!!

  4. Holas! Gracias windoctor por tu pronta respuesta… ;)

    estoy usando kubuntu 7.10 .. reinstale las jdk1 1.6, netbens e instale nuevamente el plugin…

    ahora funciona..

    muchas gracias!

  5. Hola Flavio!

    Es un gusto saber que lo has conseguido!

    Visita el blog con frecuencia, pondré más contenido sobre Java y demás temas.

    Saludos!!

  6. por favor necesito que me ayuden a montar una imagen con el ireport estoy usando el net beans 6 … se que se pasa la ruta como parametro al jsp pero no se como se hace …

  7. HOla leiva:

    Este es un ejemplo de una aplicacion de escritorio.
    http://usuarios.lycos.es/mundobyte/Java/

    Descargue el archivo y vea el código que se necesita para generar el reporte.

    Reciba un cordial saludo!

  8. muchisimas gracias windoctor, me fue de gan utilidad ese codigo… pero ahora tengo otroo problema .. tengo un reporte padre y alli coloqueun subreporte en el jsp lo invoco asi :
    params.put( “SUBREPORT_DIR”, application.getRealPath(“formatos”) + System.getProperty(“file.separator”) );

    dond la palabra formatos es el folder donde tengo los jasper y los jrxml … y en la propiedades del subreporte en la pestaña que dice subinforme otros le envio esto :

    $P{SUBREPORT_DIR} + “cnv-AH3_subreport1.jasper”

    ese cnv-ah3.jasper , es el nombre del subreporte

    y en la pestaña dond dice subinforme le envio esto
    $P{REPORT_CONNECTION}

    separados me funcionan perfecto pero al momento de correr el jsp el sub reporte no lo imprime … que podra ser??? si me puede auxiliar muchas gracias ……. saludos

  9. Hola winDoctor, me aparece el error de favio, por eso no jala el Connection/DataBases, ya lo instale y reinstale el plugin, igual con el netbeans y el jdk, al momento de instalar el plugin me marca este error cuando llega al 99% de instalar:

    Validation failed.The following plugins are not signed:

    ireport-designer

    Warning: Installing untrused plugins is potientally insecure. Use unsigned or untrused plugins at your own risk.

    ya baje otra ves el plugin y mesale lo mismao, espero k me responda esq me urge aprender a hacer manejar reportes en java. Gracias

  10. shago:

    NO es un error, claramente el mensaje dice WARNING!!! que en español es ADVERTENCIA.

    Lo único que le indica que es que dicho plugin no tiene algo como un certificado de seguridad y podria ser peligroso instalarlo, pero en ningun momento dice que NO se instalará, en ningun momento la instalación se cancela, lo único que se hace es darle aceptar al mensaje de advertencia y listo!!!! el plugin se instalará.

    Saludos

  11. hola windoctor, segui los pasos de instalacion del plug-in pero no me muestra la ventana grafica del ireport, osea el me establece la conexion bien pero no me muestra nada mas

    no se si tu me puedas colaborar con esto….de ante mano gracias.

  12. Tiene que leer los 3 tutoriales sobre la creacion de reportes en Java.

    Primero lealos completos y cualquier duda la plantea!

  13. Estoy usando NetBeans 6.0 y Sun Java Server Application 9.1 – Genero el reporte en Net Beans y es perfecto lo muestra en el Preview y sale bien, pero cuando lo ejecuto en la web me sale solo el xml y no el reporte. MUCHAS GRACIAS POR LA AYUDA

  14. Hola win doctor tengo un problema al darle click al Connections/DataSources me aparece un error:
    ————————————————————————————-
    ava.lang.NoSuchMethodError: javax.swing.JDialog: method (Ljava/awt/Window;)V not found
    at com.jaspersoft.ireport.designer.connection.gui.ConnectionsDialog.(ConnectionsDialog.java:56)
    at com.jaspersoft.ireport.designer.menu.DatasourcesAction.performAction(DatasourcesAction.java:12)
    at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:118)
    at org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77)
    at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:114)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
    at java.awt.Component.processMouseEvent(Component.java:5517)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
    at org.openide.awt.ToolbarButton.processMouseEvent(ToolbarButton.java:61)
    at java.awt.Component.processEvent(Component.java:5282)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3984)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3819)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1791)
    at java.awt.Component.dispatchEvent(Component.java:3819)
    [catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    ———————————————————————————
    ya desinstale el plugin pero me sigue lo mismo, igual desinstale el netbenas y el jdk, y hasta formatie la computadora, pero me aparece lo mismo…gracias

  15. Hola Windoctor. Yo tambien me estoy iniciando en Java y precisamente estaba en busqueda de informacion que me ayudara en la parte de JasperReport … El tutorial que publicaste me ayudo muchisimo … esta todo bien claro, explicado y con un buen ejemplo … Te felicito y gracias por esa informacion … Saludos

  16. HOla!

    Me alegra le sea de utilidad.

    Reciba un cordial saludo!!

  17. Un consulta estoy siguiendo el procedimiento para hacer reportes el problema es que necesito realizar un reporte sin parametros por ejemplo vajo una consulta “select * from clientes” y me marca un error como el siguiente.
    Agradeceria un comentario que pueda solucionarme el problema un saludo !!

    Exception in thread “AWT-EventQueue-0″ java.lang.NullPointerException
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:138)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)

  18. Hola todos,

    Tengo una consulta para ustedes gomosos de estos reportes, no tengo problemas al generar el reporte, mi problema viene al momento de darle formato a un numero, ejemplo necesito que el reporte aparezca con 12000000 y en su lugar aparece 12E6 o algo así, espero que por favor puedan ayudarme de antemano gracias

  19. Hola a todos, he estado buscando como loco generar un reporte para una aplicación desktop, uso netbeans6.01 y…aclaro que ya tengo los .jrxml con el iReport.

    Me gustaría si alguien sabe de un tutorial, un ejemplo, un user guide o algo por el estilo que me sirva, por favor digamenlo, y que no sea para webpages sino para aplicaciones stand-alone o desktop

  20. Hola a todos , la verdad es que es bastante simple de utilizar el pluggin, a mi me funciona perferto. Mi unico problema es con el jasper, ya que no me abre el cuadro de dialogo de impresion y me arroja el siguiente error :

    Errors compiling /home/seba/NetBeansProjects/003/PDDM/src/pddm/reportes/venta/boleta.jasper!
    net.sf.jasperreports.engine.JRException: Language ”null” not supported by this report compiler. Expecting ”java” instead.     at net.sf.jasperreports.engine.design.JRJdtCompiler.checkLanguage(JRJdtCompiler.java:585)     at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:138)     at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:510)     at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)     at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986)
    Compilation running time: 114

    bueno, mi sistema operativo es KUBUNTU hardy 8.04, el tema es que lo pruebo en windows y me funciona sin ningun tipo de problema.. alguien sabe como puedo solucionar esto??????
    gracias

  21. JProgrammer, si te falta ayuda aun, avisame te envio un ejemplo de como hacerlo

    saludos

  22. No esta disponible el enlace para la descarga

  23. Hola me parece interezante lo que dices pero quisiera consultarte algo, con el ireport ya puedo generar graficos con el plugin de net beans, sino como haria .
    gracias
    Saludos

  24. Con iReport puedes generar Gráficas y trabajar con Código de Barras.

  25. muy bueno saber que para la comunidad de los programadores amantes de java, existe herramientas que nos permite hacer aplicaciones free open para todos y acabar de una vez con el monopolio “Microsoft”.

    muchas gracias por el post.

  26. necesito realizar reportes en PDF con IReport de tablas muy grandes por ejemplo de 100.000 registros( aumentando 5000 por mes ) con lo cual el tiempo que consumen es de 5 min!!!!
    En mi primer intento los dividi en 4 tandas con un limit =25000 para mostrar los registros pero no es una solucion. Tambien trate con subirle la memoria a 256 JAVA_OPTS=”-Xmx256m” pero no es mucha la diferencia.
    Estoy buscando que me genere de forma asincronica el pdf para que mientras muestre los primeros registros en el pdf los siguentes registros vallan siendo complilados.

  27. hola, soy precisamente lo q describias acerca del tipico usuario windows con punto.net , gracias por tu apoyo, me sirve de mucho, suerte

  28. Hola windoctor, yo tengo un problemita eh estado usando netbeans 6.5 y quiero hacer reportes, asi que descarge los plugins pero despues de instalar y reiniciar va todo bien pero si reinicio el netbeans ya no se ven mis pantallas diseñedas en JSF :S

  29. Hola Fabi, mirá nosotros teniamos el mismo problema y lo que hicimos fue copiar el archivo xercesImpl.jar que se encuentra en la carpeta NetBeans 6.5\ireport\modules\ext en la carpeta Archivos de programa\Java\jdk1.5.0_17\jre\lib\ext y cuanto reinicies Netbeans tendría que andar! Ojala te sirva :)

  30. Hola a mi me daba error cuando tenia la version del netbeans 6.1 en español, al pareser el pluin de ireport no soporta este lenguaje. cambie el netbean po el ingles y 0 problema ahora corre ireport.

  31. Hola, tengo un problema agradeceria mucho a quien me ayudara.

    Tengo el netbeans 6.7 con el plugin de Ireport, mi problema es con los reportes con gráficas, puedo verlos bien en el preview del plugin, pero al correr el programa me genera un error, de una libreria ke no existe!!, ya busque la libreria, la encontre pero en otro paquete, no en el que marca el error, ya me desespere, ayuda

Escribe un comentario