Hola saludos.
Existen varias formas para generar reportes en JAVA quisa la más eficiente es JFREEREPORT que la puedes encontrar en sourceforge.org, lo malo de esto es que es un poquito complicado de aplicar.
Otra opción es emplear
www.java4less.com la cual te da una buena herramienta para que tu utilices tus reportes como tu desees ahora lo malo de esto es que solo te dan un demo y debes comprarlo, aunque para ello hay solución ya que si lo decompilas solo es una condición que si la borras funciona correctamente.
Si desseas yo te podria facilitar este paquete si lo deseas, solo enviame un mensaje a mi e-mail.