关闭子框架(Java + iReport)时如何防止父框架关闭?

基本上我想从我的主应用程序上的按钮调用JasperViewer 。 我用这个

 private void btnExportActionPerformed(java.awt.event.ActionEvent evt) { try { JasperPrint printer = JasperFillManager.fillReport(getClass().getResourceAsStream("reportRecharge.jasper"), params, new JREmptyDataSource()); JasperViewer jv = new JasperViewer(printer); jv.setVisible(true); } catch (JRException ex) { ex.printStackTrace(); } } 

JasperViewer出现并关闭它时, main frame / parent main frame也关闭。 我尝试添加jv.setDefaultCloseOperation(HIDE_ON_CLOSE); 但它也没有用。 怎么弄呢?

任何帮助,将不胜感激。

改变如下。 如果添加false,则close属性上的默认出口将变为false。

 private void btnExportActionPerformed(java.awt.event.ActionEvent evt) { try { JasperPrint printer = JasperFillManager.fillReport(getClass().getResourceAsStream("reportRecharge.jasper"), params, new JREmptyDataSource()); JasperViewer jv = new JasperViewer(printer,false); jv.setVisible(true); } catch (JRException ex) { ex.printStackTrace(); } }