0

方法“ReporteListadoVehiculos()”的执行只显示到“JasperPrint j = JasperFillManager.fillReport(report, null, conectar());”这一行,并且显然存在避免继续执行的错误。

我怎样才能找到避免执行报告的错误,以及我应该遵循哪些步骤来解决这些问题?

这是我用来执行报告的代码:

package domainapp.modules.simple.dominio.reportes;

import java.io.File;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

import javax.swing.JOptionPane;

import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

public class EjecutarReportes {

    public static Connection conectar() {
        Connection con = null;

        try {
            String url = "jdbc:postgresql://127.0.0.1:5432/adet?user=adetuser&password=Passw0rd";
            con = DriverManager.getConnection(url);
            if (con != null) {
                System.out.println("Conexion Satisfactoria");
            }

        } catch (SQLException e) {
            System.out.println(e.getMessage());
        }
        return con;
    }

    public void ReporteListadoVehiculos(){

        try {
            File ruta = new File("C:\\Users\\4G\\Desktop\\Proyecto_Final\\Codigo\\AdeT\\module-simple\\src\\main\\java\\domainapp\\modules\\simple\\dominio\\reportes\\ListadoVehiculos.jasper");
            JasperReport report = (JasperReport) JRLoader.loadObject(ruta);

            JasperPrint j = JasperFillManager.fillReport(report, null, conectar());
            JasperViewer jv = new JasperViewer(j,false);
            jv.setTitle("Listado de Vehiculos");
            jv.setVisible(true);

        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error al mostrar el Reporte: "+e);
        }
    }
}
4

1 回答 1

0

AFAIK JOptionPane 是摇摆的一部分。默认情况下,Apache Isis 带有一个 WicketViewer。尝试使用记录器(例如 log4j)甚至 System.out.println() 来更接近问题。

于 2020-02-25T08:48:00.637 回答