Foros del Web » Programación para mayores de 30 ;) » Java »

JasperViewer se cierra

Estas en el tema de JasperViewer se cierra en el foro de Java en Foros del Web. Hola a todos, es la primera vez que escribo en este foro y, cómo no, es para pedir ayuda. Estoy creando una aplicación que muestra ...
  #1 (permalink)  
Antiguo 28/10/2012, 13:27
 
Fecha de Ingreso: octubre-2012
Ubicación: Elche
Mensajes: 13
Antigüedad: 11 años, 5 meses
Puntos: 0
JasperViewer se cierra

Hola a todos, es la primera vez que escribo en este foro y, cómo no, es para pedir ayuda.
Estoy creando una aplicación que muestra un informe creado con iReport, funciona bien, pero cuando cierro la ventana de la vista preliminar. se cierra el programa. Porgo el código por si sabeis donde puedo estar equivocándome, ya que he buscado por todas pares y no encuentro la solución.

public class Factura {


String numerofactura = "";
String tipofactura = "";
String emprfactura = "";
String ejerfactura = "";

//establecemos la conexión con la base de datos
Gestion mysql = new Gestion();
Connection con = mysql.conectar();
public void runReporte(){

numerofactura = Facturas.txb_cfNumero.getText();
tipofactura = Facturas.txb_cfTipo.getText();
emprfactura = Gestion.Empresa;
ejerfactura = Gestion.Ejercicio;

String ruta = "/home/manolo/Proyectos/Gestion/src/reportes/factura.jasper";

try {

JasperReport reporte = (JasperReport)JRLoader.loadObjectFromFile(ruta);


Map parametros = new HashMap();
parametros.put("NumFactura", numerofactura);
parametros.put("TipoFactura", tipofactura);
parametros.put("EmpFactur", emprfactura);
parametros.put("EmpEjerci", ejerfactura);

JasperPrint print = JasperFillManager.fillReport(reporte, parametros, con);
JasperViewer jviewer = new JasperViewer(print,false);
jviewer.setTitle("Facturas");
jviewer.setVisible(true);





JasperViewer.viewReport(print);



} catch (Exception j) {
JOptionPane.showMessageDialog(null, j);
}
}

public void cerrar(){
try {
con.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}


Muchas gracias por adelantado y espero no equivocarme de lugar para colocar la pregunta.
Un saludo.
  #2 (permalink)  
Antiguo 28/10/2012, 15:18
 
Fecha de Ingreso: febrero-2012
Mensajes: 136
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: JasperViewer se cierra

Lo que tienes que hacer es utilizar un JFrame para mostrar el Reporte

Por ejemplo

Código C++:
Ver original
  1. JFrame frame = new JFrame("Report");
  2. frame.getContentPane().add(new JRViewer(print ));
  3. frame.pack();
  4. frame.setVisible(true);

De esta manera ya no se te cerrara tu aplicacion por completo

Última edición por AdvKael; 28/10/2012 a las 19:34
  #3 (permalink)  
Antiguo 29/10/2012, 01:17
 
Fecha de Ingreso: octubre-2012
Ubicación: Elche
Mensajes: 13
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: JasperViewer se cierra

Muchas gracias, AdvKael, me has dado la solución. Ayer pasé todo el día intentando resolverlo y no hubo forma.

Te lo agradezco mucho.

Etiquetas: cerrar, jasperviewer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:14.