iReport - JasperViewer

Fala galera,

Queria saber se alguem tem idéia de como saber se
o relatório impresso na tela jasperViewer.viewReport(jasperPrint, false);

Foi fechado, ou esta aberto.

Imagine a situação:

this.setModal(false);
abreRelatorio();
// if(relatorioFechado())
this.setModal(true); //SOMENTE SE O RELATORIO JA FOI FECHADO

talvez venha a ser util para alguem:

Solução:

final JasperViewer jv = new JasperViewer(jasperPrint, false);

// add window listener to the viewe.
jv.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
javax.swing.JOptionPane.showMessageDialog(new javax.swing.JFrame(), "I've been closed!!!", "Why?", JOptionPane.INFORMATION_MESSAGE);
}
});
// now show the viewer
jv.show();