Не удается найти символ JasperCompileManager.compileReport (), JasperFillManager.fillReport ()? - PullRequest
0 голосов
/ 16 июня 2019

Я хочу создать отчет с Джаспером на JavaFX.Я экспортирую данные из MySql в отчет Jasper, и все работает правильно.Я импортирую библиотеку Jasper Reports 6.2.0 в библиотеку моего проекта на Netbeans 8.2.Когда я хочу создать метод (в моем случае showReport()), чтобы открыть файл Джаспера, когда нажата одна кнопка, он показывает мне, что не удается найти символ для метода compileReport() и метода fillReport () `.

здесьтакже изображение кода! введите описание изображения здесь ?

код здесь:

public void showReport(){
    try{
        JasperReport jasperReport = new JasperCompileManager.compileReport(" C:\\Users\\PC\\Desktop\\fxmlTest\\src\\fxmltest\\newReport.jasper");
        JasperPrint jasperPrint   = new JasperFillManager.fillReport(jasperReport,null,connection);      
        JRViewer viewer  = new JRViewer(jasperPrint);
        viewer.setOpaque(true);
        viewer.setVisible(true);

        this.add(viewer);
        this.setSize(900,500);
        this.setVisible(true);
    }catch(Exception e){
        System.out.println( e.getMessage());
    }
};

1 Ответ

2 голосов
/ 16 июня 2019

JasperCompileManager.compileReport и JasperFillManager.fillReport являются static методами.

Синтаксис, который вы используете с правой стороны от назначений

new JasperCompileManager.compileReport(" C:\\Users\\PC\\Desktop\\fxmlTest\\src\\fxmltest\\newReport.jasper")
new JasperFillManager.fillReport(jasperReport,null,connection)

указывает компилятору вызывать конструкторы static внутреннего класса compileReport в JasperCompileManager и fillReport в JasperFillManager соответственно.(Или в качестве альтернативы конструкторы классов fillReport в пакете JasperCompileManager и fillReport в пакете JasperFillManager.) Однако эти классы не существуют, поэтому вы получаете ошибку времени компиляции.Вам нужно удалить эти new ключевые слова:

JasperReport jasperReport = JasperCompileManager.compileReport(" C:\\Users\\PC\\Desktop\\fxmlTest\\src\\fxmltest\\newReport.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,connection);
...