the*_*rra 6 java swing jasper-reports jframe
当JasperViewer出现并关闭它时,主框架/父框架也关闭.怎么预防这个?
这是我的代码..
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);
}
Run Code Online (Sandbox Code Playgroud)
Tha*_*ndu 11
改变这个:
JasperViewer.viewReport(jasperPrint);
到JasperViewer.viewReport(jasperPrint, false);
这将正常工作.
改变:
JasperViewer.viewReport(jasperPrint);
Run Code Online (Sandbox Code Playgroud)
到:
JasperViewer.viewReport(jasperPrint);
JasperViewer.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Run Code Online (Sandbox Code Playgroud)
看起来JasperVieweris usingJFrame.EXIT_ON_CLOSE会导致System.exit(n)被调用,从而结束 JVM。
通过使用JFrame.DISPOSE_ON_CLOSE,只有该帧被结束和处理。