在我的swing应用程序中,当我要打印时,给出了以下异常。但并非总是如此,就像一次三次。在jasper报告中执行以下代码时,会发生这种情况。我该如何解决这个问题?

    Exception occurred during event dispatching:
    java.lang.OutOfMemoryError: Java heap space
        JRBeanCollectionDataSource datasource = new JRBeanCollectionDataSource(purchasingList);
        JasperPrint jasperPrint = JasperFillManager.fillReport(in, params, datasource);

        if (view) {// using a JDialog a preview of the print is showed.
             new Shows().showJasper(jasperPrint, "Invoice No:" + invoiceNo);
        }

        final JRPrintServiceExporter exporter = new JRPrintServiceExporter();
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
//      exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
        exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.TRUE);
        exporter.exportReport();

最佳答案

您可以使用JVM的-Xmx选项。
用更多的堆内存启动您的应用程序。
例如

      java -Xmx512M YourClass

10-04 12:41