Oi,
Estou tendo um problema na minha aplicação Web. Quando tento chamar o JasperViewer para mostar o relatório ele lança a excepção
java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:197)
at java.awt.Window.<init>(Window.java:534)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at javax.swing.JFrame.<init>(JFrame.java:180)
at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:264)
at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:194)
at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:139)
at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:101)
at interface_model.ConsentimentoDAO.geraRelatorio(ConsentimentoDAO.java:158)
at controller.ConsentimentoController.geraRelatorio(ConsentimentoController.java:71)
Estou usando o Extjs4 e o Vraptor, fazendo uma request para o controller que depois chama o método no DAO para gerar o relatório. No ConsentimentoDAO tenho o seguinte:
public boolean geraRelatorio(){
try{
String Report = "D:\\Documents and Settings\\letrass\\My Documents\\NetBeansProjects\\ESIGIC\\src\\java\\Reports\\report1.jrxml";
JasperReport jasper_report = JasperCompileManager.compileReport(Report);
JasperPrint jasper_print = JasperFillManager.fillReport(jasper_report, null, connection);
JasperViewer view = new JasperViewer(jasper_print,false);
view.setTitle("Exemplo");
view.setVisible(true);
return true;
}
catch(Exception ex){
ex.printStackTrace();
return false;
}
}
Não estou a perceber o que está errado, é das primeiras vezes que estou a usar esta ferramenta de geração de relatórios :roll: