Chandu
Chandu

Reputation: 871

How to integrate JasperViewer with Swing based application

can I integrate the JasperReports Viewer to my Swing application as like if I click on view report button from my application then viewer should be opened. If so could you advise me with code snippet for this integration and in this viewer the save as type should be restricted for PDF only rather than every other download option filter available.

Please advice me in this regard.

Upvotes: 0

Views: 1240

Answers (2)

Dinesh
Dinesh

Reputation: 1

Let's suppose that report contains the name of your report file (*.jrxml). This program will fill the report with data from the mysql database. I hope this solves your problem.

public void generate(String report) { // report will contain the name of your file
    try {
        InputStream design = getClass().getResourceAsStream(report);
        JasperDesign jasperdesing = JRXmlLoader.load(design);
        JasperReport jasperReport = JasperCompileManager.compileReport(jasperdesing);
        Connection con = ConnectDB.connect();// connect function in ConnectDB calss is used to connect to the database
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, con);
        JasperViewer.viewReport(jasperPrint, false);
    } catch (Exception e) {
        System.out.println("Exception " + e);
    }

}
public class ConnectDB {
public static Connection con = null;
public static Connection connect(){
    try{
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql:///dbname","username","password");
    }catch(Exception e){
        System.out.println();
    }
    return con;
}

}

Upvotes: 0

Tomislav Nakic-Alfirevic
Tomislav Nakic-Alfirevic

Reputation: 10173

Yes you can, Jasper Reports come with a usable (albeit simple) report viewer:

...
           JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
           JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport...);
           JasperViewer.viewReport(jasperPrint);
...

The last line is what displays the viewer. I'm not sure if you can restrict the available output formats to PDF, though.

Upvotes: 2

Related Questions