⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ireportcompiler.java

📁 优秀的打印控件全源代码,类似水晶表的设计器!
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
         // Compile report....         javaFile = this.jrf.getReport().getName()+".java";                  String tempDirStr = System.getProperty("jasper.reports.compile.temp");         String oldCompileTemp  = tempDirStr;         if (tempDirStr == null || tempDirStr.length() == 0 || mainFrame.isUsingCurrentFilesDirectoryForCompiles())         {            tempDirStr = mainFrame.getTranslatedCompileDirectory();         }         File tempDirFile = new File(tempDirStr);         javaFile = (new File(tempDirFile,javaFile)).getPath();                  status = "Compiling";                  mainFrame.logOnConsole("</font><font face=\"SansSerif\" size=\"3\" color=\"#000000\">Compiling to file... " + fileName + " -> "+javaFile+"</font><br><font face=\"Courier New\" size=\"3\">",true);                  try         {            if( mainFrame.isUsingCurrentFilesDirectoryForCompiles() )            {               System.setProperty("jasper.reports.compile.temp", tempDirStr);            }                        String old_jr_classpath = Misc.nvl( System.getProperty("jasper.reports.compile.class.path"), "");            System.setProperty("jasper.reports.compile.class.path", Misc.nvl( new File(fileName).getParent(), ".")  + File.pathSeparator  + System.getProperty("java.class.path") + File.pathSeparator +  System.getProperty("java.class.path"));                                   JasperCompileManager.compileReportToFile(srcFileName, fileName);                        System.setProperty("jasper.reports.compile.class.path", old_jr_classpath);         } catch (JRException jrex)         {            mainFrame.logOnConsole("</font><font face=\"SansSerif\"  size=\"3\" color=\"#CC0000\"><b>Errors compiling "+fileName+"!</b></font><br><font face=\"Courier New\" size=\"3\">",true);            //1. load the java file            Vector source = new Vector();            try            {               java.io.BufferedReader is = new java.io.BufferedReader(new java.io.FileReader( javaFile ));               while (true)               {                  String line = is.readLine();                  if (line == null) break;                  source.addElement(line);               }               is.close();            } catch (Exception ioex)            {               // No file readed....            }            //2. write exception in a string            StringWriter sw = new StringWriter(0);            jrex.printStackTrace(new PrintWriter(sw));                        System.out.println("\n\n\n");            myPrintStream.flush();            parseException( outputBuffer+sw.getBuffer()+"", source);                                             }         catch (Exception ex)         {            mainFrame.logOnConsole("</font><font face=\"SansSerif\"  size=\"3\" color=\"#CC0000\"><b>Error compiling the report java source!</b></font><br><font face=\"Courier New\" size=\"3\">",true);            StringWriter sw = new StringWriter(0);            ex.printStackTrace(new PrintWriter(sw));            myPrintStream.flush();            parseException( outputBuffer+sw.getBuffer()+"", null);         }         finally         {            if(mainFrame.isUsingCurrentFilesDirectoryForCompiles())            {               if( oldCompileTemp != null )               {                  System.setProperty("jasper.reports.compile.temp", oldCompileTemp);               }               else               {                  System.setProperty("jasper.reports.compile.temp", "");               }            }//end if using current files directory for compiles         }//end finally         mainFrame.logOnConsole(outputBuffer);         outputBuffer="";         mainFrame.logOnConsole("</font><hr><font face=\"SansSerif\"  size=\"3\" color=\"#0000CC\"><b>Compilation running time : " + (System.currentTimeMillis() - start) + "</b></font><br><hr><font face=\"Courier New\" size=\"3\">",true);               }                                   if  ((command & CMD_EXPORT) != 0)      {         // Compile report....         JasperPrint print = null;                  mainFrame.logOnConsole("</font><font face=\"SansSerif\" size=\"3\" color=\"#000000\">Filling report... </font><br><font face=\"Courier New\" size=\"3\">",true);                  if (properties.get(USE_EMPTY_DATASOURCE) != null && properties.get(USE_EMPTY_DATASOURCE).equals("true"))         {            try            {                              print = JasperFillManager.fillReport(fileName,new HashMap(),new JREmptyDataSource());            } catch (Exception ex)            {               mainFrame.logOnConsole("Error filling print...\n");               ex.printStackTrace();               mainFrame.logOnConsole(outputBuffer);               outputBuffer ="";            }         }         else if (properties.get(USE_CONNECTION) != null && properties.get(USE_CONNECTION).equals("true"))         {            try            {                              IReportConnection connection = (IReportConnection)properties.get(CONNECTION);               HashMap hm = new HashMap();               if (connection.isJDBCConnection())               {                  print = JasperFillManager.fillReport(fileName,hm, connection.getConnection());               }               else               {                   JRDataSource ds = (JRDataSource)connection.getJRDataSource();                   print = JasperFillManager.fillReport(fileName,hm,ds);                              }                           } catch (Exception ex)            {               mainFrame.logOnConsole("Error filling print...\n");               ex.printStackTrace();               mainFrame.logOnConsole(outputBuffer);               outputBuffer ="";            }         }         dori.jasper.view.JRViewer jrv = null;         dori.jasper.engine.JRExporter exporter=null;         if (print != null)         {            String  format = Misc.nvl(properties.get(OUTPUT_FORMAT),"pdf");            String  viewer_program = "";                        mainFrame.logOnConsole(properties.get(OUTPUT_FORMAT) + "Exporting\n");                        try            {                              if (format.equalsIgnoreCase("pdf"))               {                  exporter = new  dori.jasper.engine.export.JRPdfExporter();                                    fileName = Misc.changeFileExtension(fileName,"pdf");                  mainFrame.logOnConsole("Exporting pdf to file... \""+fileName+"\"\n");                  viewer_program = mainFrame.getProperties().getProperty("ExternalPDFViewer");               }               else if (format.equalsIgnoreCase("csv"))               {                  exporter = new  dori.jasper.engine.export.JRCsvExporter();                  fileName = Misc.changeFileExtension(fileName,"csv");                  mainFrame.logOnConsole("Exporting CSV to file... "+fileName+"\n");                  viewer_program = Misc.nvl( mainFrame.getProperties().getProperty("ExternalCSVViewer"), "");               }               else if (format.equalsIgnoreCase("html"))               {                  exporter = new  dori.jasper.engine.export.JRHtmlExporter();                  fileName = Misc.changeFileExtension(fileName,"html");                  mainFrame.logOnConsole("Exporting HTML to file... "+fileName+"\n");                  viewer_program = Misc.nvl( mainFrame.getProperties().getProperty("ExternalHTMLViewer"), "");               }               else if (format.equalsIgnoreCase("xls"))               {                  exporter = new  dori.jasper.engine.export.JRXlsExporter();                  fileName = Misc.changeFileExtension(fileName,"xls");                  mainFrame.logOnConsole("Exporting xls to file... "+fileName+"\n");                  viewer_program = Misc.nvl( mainFrame.getProperties().getProperty("ExternalXLSViewer"), "");               }               else if (format.equalsIgnoreCase("java2D"))               {                                    exporter = new  dori.jasper.engine.export.JRGraphics2DExporter();                  mainFrame.logOnConsole("Exporting to Java2D \n");                  viewer_program = null;               }               else if (format.equalsIgnoreCase("jrviewer"))               {                  mainFrame.logOnConsole("Viewing with JasperReports Viewer\n");                  exporter = null;                  viewer_program = null;                                 }               else if (format.equalsIgnoreCase("txt"))               {                  exporter = new  it.businesslogic.ireport.export.JRTxtExporter();                  fileName = Misc.changeFileExtension(fileName,"txt");                  mainFrame.logOnConsole("Exporting txt (experimental) to file... "+fileName+"\n");                  viewer_program = Misc.nvl( mainFrame.getProperties().getProperty("ExternalEditor"), "");               }                              if (exporter != null)               {                  exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,fileName);                  exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);                  exporter.setParameter(JRExporterParameter.PROGRESS_MONITOR, this);                  exporter.exportReport();               }               else if (format.equalsIgnoreCase("jrviewer"))               {                  //jrv = new dori.jasper.view.JRViewer(print);                  JasperViewer jasperViewer =                  new JasperViewer(print,false);                  jasperViewer.setTitle("iReport JasperViewer");                  // Find JRViewer...                    /*                    javax.swing.JComponent button = searchButton( (javax.swing.JComponent)jasperViewer.getRootPane() , "Print");                    if (button != null) ((javax.swing.JButton)button).setText("Ciccio");                    button = searchButton( (javax.swing.JComponent)jasperViewer.getRootPane() , "Reload");                    if (button != null) ((javax.swing.JButton)button).setText("Ricarica");                     */                  jasperViewer.show();                                    //dori.jasper.view.JasperViewer.viewReport( print, false);               }            } catch (Exception ex2)            {                                             mainFrame.logOnConsole("Error exporting print...\n");               ex2.printStackTrace();               mainFrame.logOnConsole(outputBuffer);               outputBuffer ="";                           }            mainFrame.logOnConsole("Running time : " + (System.currentTimeMillis() - start)+"\n");                        // Export using the rigth program....                        Runtime rt = Runtime.getRuntime();            if (viewer_program == null || viewer_program.equals(""))            {                              if (format.equalsIgnoreCase("jrviewer"))               {                                 }               else                  mainFrame.logOnConsole("No external viewer specified for this type of print. Set it in the options frame!\n");                           }            else            {               try               {                  String execute_string = viewer_program + " "+fileName+"";                  mainFrame.logOnConsole("Executing: "+ execute_string + "\n");                  rt.exec( execute_string );               } catch (Exception ex)               {                                    mainFrame.logOnConsole("Error viewing report...\n");                  ex.printStackTrace();                  mainFrame.logOnConsole(outputBuffer+"\n");                  outputBuffer ="";               }               mainFrame.logOnConsole("Finished...\n");            }         }         else         {            mainFrame.logOnConsole("Print not filled. Try to use an EmptyDataSource...!\n");         }      }            //System.setOut(out);      //System.setErr(err);   }      /** Getter for property command.    * @return Value of property command.    *    */   public int getCommand()   {      return command;   }      /** Setter for property command.    * @param command New value of property command.    *    */   public void setCommand(int command)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -