Ae galera, começei a mexer com 1 relatorio simples, pra entender como funciona, fiz o seguionte, baseado num topico aki do forum:
public void mostrarRelatorio() {
try {
// Um List com os registros que vêm do DAO
CTR_ManterProfessor ctrProf = new CTR_ManterProfessor(factory);
List<Professor> dataSource = ctrProf.listarProfessores("nome_professor");
if (dataSource.isEmpty()){
JOptionPane.showMessageDialog(null, "erro");
}
// Um HashMap com os parâmetros
HashMap params = new HashMap();
// Exibicao do Relatorio
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(dataSource);
JasperReport report = (JasperReport) JRLoader.loadObject(getClass().getClassLoader().getResource("classic.jasper"));
JasperPrint impressao = JasperFillManager.fillReport(report, params, ds);
JasperViewer.viewReport(impressao, false);
JRViewer viewer = new JRViewer(impressao);
JFrame frameViewer = new JFrame("Relatorio");
frameViewer.setSize(800, 600);
frameViewer.setResizable(true);
frameViewer.add(viewer);
princ.setEnabled(false);
frameViewer.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
frameViewer.setTitle("SPH - Relatório");
frameViewer.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosed(java.awt.event.WindowEvent evt) {
formWindowClosed(evt);
}
private void formWindowClosed(WindowEvent evt) {
princ.setEnabled(true);
princ.toFront();
}
});
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Problema ao gerar Relatorio.\n" + e.getMessage());
e.printStackTrace();
}
}
so q ele da erro e cai no catch, com essa mensagem:
Erro retrieving field value from bean: nome_professor
o q q tem de errado?