Quand un Ceci est mon code .. P> JasperViewer code> apparaît et je le ferme, le cadre principal / parent également fermé. Comment éviter cela?
private void cmdprintidMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try {
JasperDesign jasperDesign = JRXmlLoader.load("report12.jrxml");
String sql = "select * from db1 where Company LIKE '" + txtcompany.getText() + "%'";
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jasperDesign.setQuery(newQuery);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
JasperViewer.viewReport(jasperPrint);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
4 Réponses :
Modification: à: p> Il semblerait que le à l'aide de jasperviewer code> utilise
Jframe.exit_on_close code> qui causera
system.exit (n) code> à appeler, terminant ainsi le jvm. P>
jframe.dispose_on_close code > Au lieu de cela, seul ce cadre est terminé et éliminé. p> p>
Toujours avoir une erreur. "Méthode non statique SetDeFaultCloseoperation (int) ne peut pas être référencé à partir d'un contexte statique. Aide meeeeeeeeeeeeeeeeeeeeeeee!
Pas besoin de faire quoi que ce soit, autrement que d'appeler l'alternative:
JasperViewer(jasperPrint, **false**); JasperViewer.viewReport(jasperPrint, **isExitOnClose**);
JasperViewer(jasperPrint, false); You just have to pass false with jasperviewer so the parent window won't close.
changer ceci:
à JasperViewer.ViewReport (Jasperprint); Code> P>
jasperviewer.viewreport (jasperprint, false); code>
Cela fonctionnera correctement. P>