Как интегрировать JasperViewer с приложением на основе Swing - PullRequest
0 голосов
/ 29 марта 2010

Могу ли я интегрировать JasperReports Viewer в мое приложение Swing, как если бы я нажимал кнопку просмотра отчета из моего приложения, тогда программа просмотра должна открываться. Если да, то можете ли вы порекомендовать мне фрагмент кода для этой интеграции, и в этом средстве просмотра тип сохранения должен быть ограничен только для PDF, а не любой другой доступный фильтр загрузки.

Пожалуйста, дайте мне совет по этому поводу.

Ответы [ 2 ]

2 голосов
/ 29 марта 2010

Да, Jasper Reports поставляется с удобным (хотя и простым) средством просмотра отчетов:

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

Последняя строка отображает зрителя. Однако я не уверен, что вы можете ограничить доступные форматы вывода PDF.

0 голосов
/ 12 августа 2013

Предположим, что отчет содержит имя вашего файла отчета (* .jrxml). Эта программа заполнит отчет данными из базы данных mysql. Я надеюсь, что это решит вашу проблему.

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;
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...