6

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);
        }
4

4 に答える 4

14

これを変える: JasperViewer.viewReport(jasperPrint);

JasperViewer.viewReport(jasperPrint, false); これで正常に動作します。

于 2014-09-27T19:16:03.827 に答える
2
JasperViewer(jasperPrint, false);    

jasperviewer親ウィンドウが閉じないようにfalse を渡すだけです。

于 2014-03-20T16:35:46.357 に答える
1

変化する:

JasperViewer.viewReport(jasperPrint);

に:

JasperViewer.viewReport(jasperPrint);
JasperViewer.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

が呼び出され、JVM が終了しJasperViewerますJFrame.EXIT_ON_CLOSESystem.exit(n)

代わりに使用JFrame.DISPOSE_ON_CLOSEすることで、そのフレームのみが終了 & 破棄されます。

于 2013-05-16T06:59:08.933 に答える