JFrame e iReport

O problema eh o seguinte, eu tenhu um JFrame e lá tem um botão que estancia e chama o seguinte metodo da classe que criei para geracao do relatorio!

ele eh estanciado e chamado assim:

try{
new FrameRelatorio().geraRelatorio() ;
}catch(Exception e)
{e.printStackTrace();}

e esse é o metodo:

public void geraRelatorio( ) throws JRException, Exception
{
Connection con = getConnection( );
Statement stm = con.createStatement( );
String query = “select * from Aluno”;
ResultSet rs = stm.executeQuery( query );
/* implementação da interface JRDataSource para DataSource ResultSet /
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
/
HashMap de parametros utilizados no relatório. Sempre instanciados */
Map parameters = new HashMap();
// parameters.put(“COLUNA”, valor);
JasperPrint impressao = JasperFillManager.fillReport(getClass().getResourceAsStream(“RelatorioAlunos.jasper”), parameters, jrRS);
//exibe o relatório

 JasperViewer viewer = new JasperViewer(impressao,true);
 viewer.show();

}

qdo esse metodo chama o viewer.show(), é exibida um JFrame pois JasperView extend JFrame, ai qdo eu fecho essa tela, a minha aplicacao fecha! Eu gostaria de saber se haveria algum outro metodo, ou classe, para visializacao do relatorio! Já olhei em tudo e n achei! Que naum herde JFrame! Ou outra solucao que vcs possa a vir me propor!

Desde já agradeço muito quem colaborar!

Como vai amigo,

se eu não me engano, altere aqui:

JasperViewer viewer = new JasperViewer(impressao,false);

isso msm!
vlw cara!