Erro gerar relatório Ireport

Boa noite pessoal, estou com problema na geração de relatório no ireport 4.1.1. Estou desenvolvendo uma aplicação desktop com o Swing e ao clicar num determinado botão a aplicação irá gerar o relatório. Quando executo pela primeira vez o relatório é gerado normalmente, quando o tento gerar novamente a aplicação gera o seguinte erro:

Exception in thread "AWT-EventQueue-0" sun.awt.X11.XException: Cannot write XdndAware property at sun.awt.X11.XDnDDropTargetProtocol.registerDropTarget(XDnDDropTargetProtocol.java:79) at sun.awt.X11.XDropTargetRegistry.registerDropSite(XDropTargetRegistry.java:554) at sun.awt.X11.XWindowPeer.addDropTarget(XWindowPeer.java:1633) at sun.awt.X11.XComponentPeer.addDropTarget(XComponentPeer.java:1509) at java.awt.dnd.DropTarget.addNotify(DropTarget.java:493) at java.awt.Component.addNotify(Component.java:6666) at java.awt.Container.addNotify(Container.java:2567) at javax.swing.JComponent.addNotify(JComponent.java:4685) at java.awt.Container.addNotify(Container.java:2578) at javax.swing.JComponent.addNotify(JComponent.java:4685) at java.awt.Container.addNotify(Container.java:2578) at javax.swing.JComponent.addNotify(JComponent.java:4685) at java.awt.Container.addImpl(Container.java:1068) at java.awt.Container.add(Container.java:927) at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:186) at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:455) at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:403) at view.ensaio.EnsaioPk6bView.imprimirBtActionPerformed(EnsaioPk6bView.java:1259) at view.ensaio.EnsaioPk6bView.access$400(EnsaioPk6bView.java:48) at view.ensaio.EnsaioPk6bView$5.actionPerformed(EnsaioPk6bView.java:833) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Posta o codigo tbm.

Fexx segue abaixo:

 private void imprimirBtActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:

        Pk6b valorPk = getComponenteInsert();

        CalculoPk6b calculo = new CalculoPk6b(valorPk);
        calculo.calcular();

        GerarRelPk6b rep = new GerarRelPk6b();
		JasperPrint relat;



		try {

			relat = rep.gerar(calculo);
			JasperViewer.viewReport(relat, false);


		} catch (ExcRepositorio e) {
			JOptionPane.showMessageDialog(null, "Erro: " + e.getMessage());
		}

              
    }                                          

public GerarRelPk6b() {
    }

    public JasperPrint gerar(CalculoPk6b calculo) throws ExcRepositorio {

        JasperPrint rel = null;

        try {

            JasperReport jasperReport = JasperCompileManager.compileReport("Ensaio.jrxml");

            List dados = new ArrayList();

            LeitorDescricao descricao = new LeitorDescricao();

            for (String desc : descricao.leitor()) {
                Map linha = new HashMap();
                String[] valores = desc.split(";");
                
                linha.put("descricao", valores[1]);

                String limite = "";
                if(valores.length==5) {
                    limite = valores[2] + " à " + valores[3];
                } else if(valores.length==4) {
                    limite = valores[2];
                }

                linha.put("limite", limite);

                try {
           
                    linha.put("valorEnsaio", CalculoPk6b.class.getMethod(valores[0]).invoke(calculo).toString());

                } catch (Exception ex) {

                    Logger.getLogger(GerarRelPk6b.class.getName()).log(Level.SEVERE, null, ex);
                }

                linha.put("advertencia", "Adv");

                dados.add(linha);
            }

            JRMapCollectionDataSource jrds = new JRMapCollectionDataSource(dados);

            Map parametros = new HashMap();

            parametros.put("posicao", "algo");
            parametros.put("gerencia", "Gerência");
            parametros.put("dataEnsaio", "data");
            parametros.put("instrumento", "instrumento");
            parametros.put("tipoManut", "tipomanut");
            parametros.put("se", "agv");
            parametros.put("numSerie", "serie");
            parametros.put("dataFabr", "data");
            parametros.put("fabricante", "fabricante");


            rel = JasperFillManager.fillReport(jasperReport, parametros, jrds);

        } catch (JRException e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
        return rel;
    }

[code]
public List leitor() {
List retorno = new ArrayList();

    try {
        FileReader fr = new FileReader("descricaoPk6b");
        BufferedReader br = new BufferedReader(fr);

        String s;
        while ((s = br.readLine()) != null) {
            retorno.add(s);
        }


        fr.close();
    } catch (Exception e) {
        System.out.println("Exception: " + e);
    }




    return retorno;
}[/code]

Será que tem alguma coisa haver com o Swing?

Opa.

Estou com o mesmo problema, porem isso ocorre apenas com as distribuições linux. Quando rodo no windows vai de boa.
Pode ser que seja algo com o visual do linux ou até mesmo a versão do jasper, não sei.