Bom dia a todos,
Pessoal estou com um problema simples…
Seguiten meu relatório gera e tal numa boa, mas quando eu vou fechar ele…
ele fecha a aplicação, como faço pra ele simplismente fechar o relatório somente ??
Segue o código para gerar o relatório
package report;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;
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.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
public class PrintReport {
private HashMap parametros = new HashMap();
public void runReport(String report, HashMap parametros) {
this.parametros = parametros;
this.runReport(report);
}
public Connection connectDB() {
// Cria a conexão JDBC que será utilizada pelo relatório
Connection jdbcConnection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
jdbcConnection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/Kontant","root","root");
} catch (Exception ex) {
String connectMsg = "Could not connect to the database: "
+ ex.getMessage() + " " + ex.getLocalizedMessage();
System.out.println(connectMsg);
}
return jdbcConnection;
}
public void runReport(String report) {
try {
// Busca o arquivo JRXML
java.net.URI file = ClassLoader.getSystemResource(report).toURI();
JasperDesign jasperDesign = JRXmlLoader.load(file.getPath());
// Compila o relatório
JasperReport jasperReport = JasperCompileManager
.compileReport(jasperDesign);
Connection jdbcConnection = connectDB();
// Executa o relatório
JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, parametros, jdbcConnection);
JasperViewer.viewReport(jasperPrint);
} catch (Exception ex) {
String connectMsg = "Could not create the report "
+ ex.getMessage() + " " + ex.getLocalizedMessage();
System.out.println(connectMsg);
}
}
}
Grato