Preparer un rapport

Fulti2006 Messages postés 3 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 14 mai 2012 - 14 mai 2012 à 01:36
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 14 mai 2012 à 09:55
Merci pour vos réponses. J’ai lu les principes et je suis entièrement d’accord aux règles établies, maintenant pour ce qui me concerne, c’est que je développe en Java et je voudrais donner à utilisateur la possibilité de traiter des rapports soit sur Microsoft Word ou sur Excel. Dan un premier temps je lui ai donné la possibilité de lancer Word et Excel depuis mon logiciel par les lignes de code suivantes :

private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Runtime rrt = Runtime.getRuntime();
rrt.exec("C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE");
} catch (IOException ex) {
Logger.getLogger(SYGLGForme.class.getName()).log(Level.SEVERE, null, ex);
}

}

private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Runtime rt = Runtime.getRuntime();
rt.exec("C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE");
} catch (IOException ex) {
Logger.getLogger(SYGLGForme.class.getName()).log(Level.SEVERE, null, ex);
}

Maintenant mon problème c’est que je veux créer les rapports j’utilise JasperReport pour les créer. Avec JasperReport il JasperViewer , une forme qui reçoit le rapport. J’arrive à trouver toutes les méthodes qui puisses fonctionner correctement, mais sauf la méthode jasper.DISPOSE_ON_CLOSE qui ne fonctionne pas, et quand je ferme le rapport mon application ferme aussi.


Voici les lignes de code passées :

JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
JasperViewer jasper = new JasperViewer(jasperPrint);
jasper.setVisible(true);
jasper.setDefaultCloseOperation(jasper.DISPOSE_ON_CLOSE);

} catch (ClassNotFoundException ex) {
Logger.getLogger(SYGLGForme.class.getName()).log(Level.SEVERE, null, ex);
} catch (JRException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception ex) {
Logger.getLogger(SYGLGForme.class.getName()).log(Level.SEVERE, null, ex);
}

1 réponse

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
14 mai 2012 à 09:55
Salut,

inverse les deux lignes de code
jasper.setVisible(true);
jasper.setDefaultCloseOperation(jasper.DISPOSE_ON_CLOSE);


pour avoir
jasper.setVisible(true);
jasper.setDefaultCloseOperation(jasper.DISPOSE_ON_CLOSE);


Je crois que cela résoudra ton problème...
0
Rejoignez-nous