0

Tengo el siguiente codigo en Java:

                    Conexion cc = new Conexion();
                    JasperReport jr = null;
                    String Path = "src/main/resources/Reportes/ReporteAlmuerzo1.jasper";
                    try {
                        jr = (JasperReport) JRLoader.loadObjectFromFile(Path);

                        Map<String, Object> parametros = new HashMap<String, Object>();
String fechaTabla = (String) TablaConduceAlmuerzo.getValueAt(1, 6);//Envio el parametro 6 (donde se encuentra la fecha)
                        int Grupo = Datos.Grupo;//Obtengo el grupo correspondiente

                        parametros.put("Fecha", fechaTabla);//Envio al fecha
                        parametros.put("Grupo", Grupo);//envio el grupo
                        JasperPrint jp = JasperFillManager.fillReport(jr, parametros, cc.getConnection());
                        JasperViewer jv = new JasperViewer(jp, false);
                        jv.setVisible(true);
                        jv.setTitle("Reportes");

                    } catch (JRException e) {
                        JOptionPane.showMessageDialog(null, "Error: " + e);
                    }

Tengo un reporte con el diseño hecho, el reprote puedo llamarlo desde Java siempre y cuando no le agregue una tabla, pero desde que le agrego una tabla (Lo necesito por obligación ya que necesito mostrar unos datos) me comienza a dar el sienguiente error:

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:138)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:551)
    at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:393)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:91)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:456)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:863)
    at GenerarConduceAlmuerzo$7.actionPerformed(GenerarConduceAlmuerzo.java:419)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

En el Dataset he agregado las 2 variables que envio por parametros desde Java (pensando que esto lo solucionaria) y nada.

He igualado las variables del reporte con la del Dataset y tampoco me ha resultado, siempre me da el mismo error. ¿Alguna recomendación por favor?

Tejada
  • 93
  • 1
  • 7
  • 1
    Pues la JVM te está dando esto: `at GenerarConduceAlmuerzo$7.actionPerformed(GenerarConduceAlmuerzo.java:419)`. El error se debe porque ocurrió la excepción `NullPointerException`, debido a que, una variable quedó apuntando a `null` y cuando tratas de acceder a un miembro de la clase al que apunte la variable, ocurrirá esta excepción. – MrDave1999 Mar 21 '20 at 17:24
  • 1
    Entiendo, muchas gracias amigo!!! voy a revisarlo. – Tejada Mar 21 '20 at 17:57
  • No, ese no es el problema, he inicializado las variables que estoy utilizando y sigue marcando igual. Ese error solo me da cuando agrego una tabla en el reporte, pero si le quito la tabla me funciona bien. – Tejada Mar 23 '20 at 22:19
  • Si ese no fuera el problema, entonces ¿Por qué la máquina virtual de Java te lanza la excepción `NullPointerException`? Posible duplicado: [Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException](https://es.stackoverflow.com/questions/115801/exception-in-thread-awt-eventqueue-0-java-lang-nullpointerexception/115821#115821) – MrDave1999 Mar 23 '20 at 22:50
  • Entiendo, pero cuando quito la tabla del reporte me deja visualizarlo sin problema. No comprendo que sucede en verdad. – Tejada Mar 23 '20 at 23:16
  • Con el código que agregaste, es dificil ayudarte. Deberias editar la pregunta y añadir el código donde esta el posible error. La JVM te lo está avisando: `at GenerarConduceAlmuerzo$7.actionPerformed(GenerarConduceAlmuerzo.java:419`. – MrDave1999 Mar 24 '20 at 20:19
  • 1
    Saludos @MrDave1999, ya logré solucionar el problema, simplemenete me faltaba una libreria de Jasper, fui a **Maven** y utilice la ultima actualización de dependencia en Jasper y con eso se solucionó mi problema. Agradezco tus comentarios de igual forma! https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports/6.12.2 este es el link del repositorio de Jasper a la versión más reciente 6.12.2 lanzada el 11 de Marzo del 2020. – Tejada Mar 26 '20 at 14:46

0 Answers0