error java.lang.nullpointerexception
cordial saludo amigos forero tengo la sgte duda cuando intento realizar un reporte en jasperreport con java siempre me sale que el documento no tiene pagina lo he probado del inreport y me funciona bien. lo que note mas extraño que me envia un msj java.lang.nullpointerexception
import java.sql.*;
import java.util.Map;
import java.util.HashMap;
import java.net.URL;
import beans.Conexion;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
import net.sf.jasperreports.view.JRViewer.*;
import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;
/**
*
* @author Administrador
*/
public class EjecutarReporte {
// Connection con;
public static final String DRIVER="com.mysql.jdbc.Driver";
public static final String RUTA="jdbc:mysql://localhost/factura";
public static final String USER="root";
public static final String PASSWORD="root";
public static Connection con;
//Connection con;
public void startReport(int factura){
try{
Class.forName(DRIVER);
con = DriverManager.getConnection(RUTA,USER,PASSWORD);
javax.swing.JOptionPane.showMessageDialog(null,"Conexion establecida");
//direccion del archivo JASPER
String in="reportefactura.jasper";
//URL in = this.getClass().getResource("reportefactura.jasper");
if (in == null) {
throw new Exception("No encuentro el archivo del reporte maestro.");
}
JasperReport reporte =null;
try {
reporte = (JasperReport) JRLoader.loadObject( in );
} catch (Exception e) {
throw new Exception("Error cargando el reporte : " + e.getMessage());
}
//reporte=(JasperReport) JRLoader.loadObject(template);
// Map param=new HashMap();
//Se crea un objeto HashMap
Map param = new HashMap();
param.clear();
param.put("FACTURA", factura);
//Conexion con = new Conexion();
//con.connect("", "");
JasperPrint jasperprint = null;
try {
jasperprint = JasperFillManager.fillReport(reporte,param,con);
//JasperPrintManager.printReport(jasperprint, true);
jasperprint.setOrientation(JasperReport.PRINT_ORDER_VERTICAL);
} catch (JRException e) {
throw new Exception("Error llenando el reporte maestro: " + e.getMessage());
}
try {
JasperViewer visor=new JasperViewer(jasperprint,false);
visor.setTitle("GMMG Reportes - YCCE");
visor.setVisible(true);
} catch (Exception e) {
throw new Exception("Error visualizando el reporte : " + e.getMessage());
}
}catch(Exception e){
javax.swing.JOptionPane.showMessageDialog(null, e);
}
}
}
este el codigo del boton
// TODO add your handling code here:
int factura=Integer.parseInt(txtReporte.getText());
report.startReport(factura);
}
- Inicie sesión o regístrese para enviar comentarios
Tu reportefactura.jasper está
Tu reportefactura.jasper está en el mismo package que tu clase?
Nada no esta dentro del mismo
Nada no esta dentro del mismo paquete
O_O
Ah pues es por éso. Una de dos, o pones el fichero .jasper en el mismo folder que tu clase, o a tu clase en tu variable in le indicas el path completo dónde encontrar tu fichero .jasper.
Ya hice lo que me dijiste y
Ya hice lo que me dijiste y sale el mismo error, acabo de hacerlo igual que un ejemplo q tengo aca y no funciona
Checa
Un ejemplo ligeramente distinto lo encuentras acá.
Ya hice el ejemplo ahora me
Ya hice el ejemplo ahora me sale este error
Error loading object from InputStream
O_o
Nada más te sale éso? Publica por favor el ejemplo como lo hiciste, y la traza de error completa.