Relatório JasperSoft abrindo por baixo do formulario principal

Pessoal, fiz um relatório com o JasperSoft, até ai tudo bem esta funcionando, criei uma lista onde o usuário vai clicar no registro desejado e assim abrirá o relatório o problema é que o relatório esta abrindo por baixo do meu formulario principal e preciso que abra por cima dele. O que posso fazer?
Segue o metodo em que chamo o relatório.

Fluxo da lógica:
Formulario Principal chama Lista
Usuário clica no registro desejado na lista
Abre o relatório, fechando a lista
O relatório continua aberto mas por baixo do Formulario principal

Aqui quando o usuário clica na tabela:

case "TBLMEMOSTRANSFERIDOS":
                //pegando o nome selecionado e setando no modelo neste caso o nome do cliente e codigo
                icodigo = (int) jTabela.getValueAt(jTabela.getSelectedRow(), 0);                
                objPatriTransferido.setCodigo(icodigo); 
                ctrlPatriTransferido.pesquisarPatriTransferido(objPatriTransferido);  
                codigoNumemo       = objPatriTransferido.getCodigo();
                numemoParaImprimir = objPatriTransferido.getNumemo();    
                //JOptionPane.showMessageDialog(null, "Numero do memorando para imprimir : "+numemoParaImprimir);
                ImprimirRelatorioSelecionado(numemoParaImprimir);                
                break;        
            
            default:
                JOptionPane.showMessageDialog(null, "Nenhuma alternativa válida foi selecionada!");
        }
        cadPatrimovel=false;
        dispose();              
public void ImprimirRelatorioSelecionado(String numemo){
        GerarRelatorios objRel = new GerarRelatorios();
        try {
            objRel.imprimirRelatorioPatrimoniosTransferidos("relatorio/relimprimirmemodetransferidos.jasper", numemo);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Erro ao gerar relatório!\n"+e);                
        }    
    }

public void imprimirRelatorioPatrimoniosTransferidos(String caminho, String pParam) throws JRException,Exception
    {                   
        //exibindo o relatorio
        HashMap filtro = new HashMap();         
                        
        ImageIcon gto = new ImageIcon(getClass().getResource("/images/cabecalho.png"));
        filtro.put("CABECALHO", gto.getImage());
        filtro.put("numemo", pParam);
        
        JasperPrint impressao = JasperFillManager.fillReport( caminho, filtro, conexao );
        JasperViewer viewer   = new JasperViewer( impressao , false );
        viewer.setTitle("Relatório de Patrimônios Transferidos por Número de Memorando");
        viewer.setZoomRatio(new Float(0.7956));  //ajustando o relatorio na pagina
        viewer.setVisible(true);           
        conexao.close();      
    }       

O JasperViewer é um JFrame independente de sua aplicação.

Se você quer exibir o relatório em uma janela filha de sua aplicação, então utilize o JRViewer que é um JPanel, este você pode adicionar em um JFrame, JDialog ou qualquer outro Container.

Ok, vou tentar por aqui e informo depois, grato.

Funcionou, grato.

1 curtida