Java - Tengo un Error al generar reporte con JasperReport

 
Vista:
Imágen de perfil de Ignacio
Val: 35
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Tengo un Error al generar reporte con JasperReport

Publicado por Ignacio (22 intervenciones) el 11/08/2021 21:07:03
Estoy realizando un sistema en NetBeans con Java y utilizo MySQL para la base de datos, me funciona todo lo que cargo al sistema pero cuando voy a consultas y genero el reporte (dependiendo de la consulta) me da error, el mismo lo realizo con JasperReport, El código para mostrar el reporte esta bien (por lo que hice) pero me da error de JasperReport.

Código donde genero el reporte

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void report(){
   lista = new ArrayList();
    for (a = 0; a < tCompras.getRowCount(); a++) {
 
     Compras c = new Compras(tCompras.getValueAt(a, 1).toString(), tCompras.getValueAt(a, 4).toString(), tCompras.getValueAt(a, 5).toString(), tCompras.getValueAt(a, 7).toString(), tCompras.getValueAt(a, 8).toString(), tCompras.getValueAt(a, 9).toString(), tCompras.getValueAt(a, 10).toString());
 
     lista.add(c);
    }
    try{
    Reporte = (JasperReport) JRLoader.loadObject(getClass().getResource("/src/Formulario/Facturas_Compras.jasper"));
    parametro = new HashMap(2);
    parametro.put("Mes",mesCombo.getSelectedItem().toString());
    parametro.put("Año",año.getText());
    JasperPrint print = JasperFillManager.fillReport(Reporte, parametro,  new JRBeanCollectionDataSource(lista));
    JasperViewer view = new JasperViewer(print);
    view.setVisible(true);
    }catch(JRException ex){
     JOptionPane.showMessageDialog(null, ex.getMessage());
    }
}

Error que me arroja al generar el reporte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.net.URL.openStream()" because "url" is null
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:208)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:192)
at Formulario.ConsultasCompras.report(ConsultasCompras.java:180)
at Formulario.ConsultasCompras.btngenerarActionPerformed(ConsultasCompras.java:487)
at Formulario.ConsultasCompras$8.actionPerformed(ConsultasCompras.java:359)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6617)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6382)
at java.desktop/java.awt.Container.processEvent(Container.java:2264)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4993)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2322)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4825)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4934)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4563)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4504)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2308)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4825)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Que puedo hacer?

Pantalla-1
Pantalla-2

Les dejo el proyecto en NetBeans con las las librerias si desean ver.

Proyecto + Base de Datos
https://drive.google.com/file/d/1Gx4Fs4CSFkH9x4RhVHVtIc3v88NHQK-o/view

Librerías
https://drive.google.com/file/d/1P77IGOm1CzTuxfSozc7SQ9AOmaMjDRB1/view
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder