Foro sobre Java SE > Llamar a Reportes
Mira, encontre esta joda/joda-time-2.0.jar.zip( 481 k), voy a descargar y vere luego que otra libreria me pide jeje.
Lo ejecute al programa, despues de instalar el jar y tuve que importar la libreria, esa , supuse que seria org.joda.time.*; puse por las dudas y bueno,
Ahora me salio un mensaje que me dice que el documento no tiene paginas, le di aceptar y abrio la ventana del iReport pero no me mostro nada.
Por lo menos es un avance, pero a que se debe, que dice que no tiene paginas?, por lo menos uno debe tener, son tres registros los que deberia mostrar.
amigos, a mi me dio, si me apoyan para adjuntarles los .jar que agregue a mi proyecto o adjuntarles una captura.
Saludos.
podrias pasar los jar que tuviste que agregar??
igual que tu estoy batallando porque hay mucha mas informacion para netbeans que para eclipse y me seria de bastante ayuda
muchas gracias
Si pudieron resolverlo.
Porque yo ya busque y el error es que el (JasperReport) JRLoader.loadObject no carga el archivo, se queda pasmado ahi. No realiza nada. son muchos problemas para un llamado del un simple reporte.
Y no es conexion, simplemente no acepta la ruta ni el nombre del reporte.
Si es el jrxml con ese no hay problema, pero necesito que lea el .jasper.
O me pueden orientar otra utileria para generar reportes para netbeans.
Saludos
Yo agregue la libreria servletapi-2.4.jar y se me soluciono el error.
Funciono perfecto.
Amigo he tenido el mismo problema en la llamada del reporte con netbeans. he tomado algunos consejos para darle seguimiento al error pero necesito de su ayuda.
public String fechaFor1;
void generar_informe() {
Date inic = jDateini.getDate();
SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
fechaFor1 = formatoFecha.format(inic).trim();
try{
String ruta = System.getProperty("user.dir").concat("\\src\\reportes\\report1.jasper");
System.out.println("ruta del reporte: "+ ruta);
System.out.println("1");
JasperReport jreporte = null;
System.out.println("2");
jreporte = (JasperReport) JRLoader.loadObject(getClass().getResource(ruta));
System.out.println("3");
Connection conex= pg.getConnection();
System.out.println("4");
Map parametros = new HashMap();
System.out.println("5");
parametros.put("parameter1", fechaFor1);
JasperPrint jprint = JasperFillManager.fillReport(jreporte, parametros, conex);
JasperViewer vista = new JasperViewer(jprint, false);
vista.setTitle("Repore de Facturacion");
vista.setVisible(true);
}
catch(JRException e){
System.out.println("Error generado en el reporte: "+ e.getMessage());
}
}
y la pantalla de salida da lo siguiente:
run:
ruta del reporte: D:\NetBeansProjects\servicioImagenAdani\src\reportes\report1.jasper
1
2
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:162)
at carga.indicarfech.generar_informe(indicarfech.java:181)
at carga.indicarfech.jBnvisualizarActionPerformed(indicarfech.java:200)
at carga.indicarfech.access$000(indicarfech.java:28)
at carga.indicarfech$1.actionPerformed(indicarfech.java:68)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6535)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6300)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
BUILD SUCCESSFUL (total time: 1 minute 30 seconds)
Estimados mi consulta es simple.
puedo generar reportes y mostrarlos de lo mas bien.
pero quiero que los reportes se actualizen , porque ejemplo creo un reporte que me muestre todos los usuarios y tengo 5.
pero luego agrego 1 usuario mas a la base de datos y el reporte anteriormente creado me sigue mostrando los 5.
¿como puedo hacer que se actualizen ?
Saludos
Prueba con este código ami me funciono es para mandar a llamar un reporte con parámetros
Map parametros = new HashMap();
parametros.put("imah", noaculto.getText());
try {
JasperReport reportes = JasperCompileManager.compileReport("Reporth.jrxml");
JasperPrint print = JasperFillManager.fillReport(reportes, parametros, this.cn);
JasperViewer jviewer = new JasperViewer(print, false);
jviewer = new JasperViewer(print, false);
jviewer.setTitle("Imprecion De Imagenes");
jviewer.setVisible(true);
} catch (Exception e) {
System.out.printf(e.getMessage());
}
Por que no pruebas usar otra libreria para reportes.
Si un reporte sencillo puede usar JasperReports
y lo haces mas sencillo usando eso.
o recure a usar reporte con PDF
Y a lo mejor te sirve esto: http://www.javatutoriales.com/2009/02/creacion-de-reportes-con-jasperrepots-y.html
mira puedes usar este codigo a mi me funciona
try {
JasperReport report = JasperCompileManager.compileReport(archivo);
JasperPrint print = JasperFillManager.fillReport(report, new HashMap(), coneccionSQL());
JasperViewer.viewReport(print, false);
} catch (JRException jRException) {
System.out.println(jRException.getMessage());
}
Ahora, me pide esta:
paso6
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/joda/time/ReadableInstant
Estoy buscando esta libreria para instalarla.
Creo que me pasare, instalando jar, jejej