1 package com.calipso.reportgenerator.userinterface; 2 3 import net.sf.jasperreports.view.JRViewer; 4 import net.sf.jasperreports.engine.export.JRXlsExporter; 5 import net.sf.jasperreports.engine.export.JRXlsExporterParameter; 6 import net.sf.jasperreports.engine.export.JRCsvExporter; 7 import net.sf.jasperreports.engine.*; 8 9 import javax.swing.*; 10 import java.awt.*; 11 import java.awt.event.ActionListener ; 12 import java.awt.event.ActionEvent ; 13 14 import com.calipso.reportgenerator.common.LanguageTraslator; 15 import com.calipso.reportgenerator.common.ShowExceptionMessageDialog; 16 17 20 21 public class JasperReportUI extends JFrame implements ActionListener { 22 23 private JasperPrint print; 24 private JMenuItem menuItemPdf; 25 private JMenuItem menuItemCvs; 26 private JMenuItem menuItemExcel; 27 private JMenuItem menuItemHtml; 28 private JMenuItem menuItemXml; 29 private JMenuItem menuItemExit; 30 31 36 public JasperReportUI(JRViewer jrViewer, JasperPrint print) { 37 this.print = print; 38 initialize(jrViewer); 39 } 40 41 45 private void initialize(JRViewer jrViewer) { 46 setTitle(LanguageTraslator.traslate("331")); 47 setJMenuBar(getFrameMenuBar()); 48 getContentPane().setLayout(new BorderLayout()); 49 JScrollPane pane = new JScrollPane(jrViewer); 50 pane.setViewportView(jrViewer); 51 getContentPane().add(pane, BorderLayout.CENTER); 52 } 53 54 private JMenuBar getFrameMenuBar() { 55 JMenuBar menuBar = new JMenuBar(); 56 57 JMenu menuFile = new JMenu(com.calipso.reportgenerator.common.LanguageTraslator.traslate("301")); 58 59 menuItemPdf = new JMenuItem(com.calipso.reportgenerator.common.LanguageTraslator.traslate("302")); 60 menuItemPdf.addActionListener(this); 61 menuFile.add(menuItemPdf); 62 63 menuItemHtml = new JMenuItem(com.calipso.reportgenerator.common.LanguageTraslator.traslate("303")); 64 menuItemHtml.addActionListener(this); 65 menuFile.add(menuItemHtml); 66 67 menuItemExcel = new JMenuItem(com.calipso.reportgenerator.common.LanguageTraslator.traslate("304")); 68 menuItemExcel.addActionListener(this); 69 menuFile.add(menuItemExcel); 70 71 menuItemCvs = new JMenuItem(com.calipso.reportgenerator.common.LanguageTraslator.traslate("305")); 72 menuItemCvs.addActionListener(this); 73 menuFile.add(menuItemCvs); 74 75 menuItemXml = new JMenuItem(com.calipso.reportgenerator.common.LanguageTraslator.traslate("306")); 76 menuItemXml.addActionListener(this); 77 menuFile.add(menuItemXml); 78 79 menuFile.addSeparator(); 80 81 menuItemExit = new JMenuItem(com.calipso.reportgenerator.common.LanguageTraslator.traslate("144")); 82 menuItemExit.addActionListener(this); 83 menuFile.add(menuItemExit); 84 85 menuBar.add(menuFile); 86 87 return menuBar; 88 } 89 90 94 public void actionPerformed(ActionEvent ae) { 95 if(ae.getSource() == menuItemExit) { 96 dispose(); 97 } else { 98 JFileChooser fileChooser = new JFileChooser(); 99 int result = fileChooser.showSaveDialog(this); 100 if(result == JFileChooser.APPROVE_OPTION) { 101 try { 102 if(ae.getSource() == menuItemPdf) { 103 JasperPrintManager. printReportToPdfFile(print, fileChooser.getSelectedFile().toString()); 104 } else if(ae.getSource() == menuItemHtml) { 105 JasperExportManager.exportReportToHtmlFile(print, fileChooser.getSelectedFile().toString()); 106 } else if(ae.getSource() == menuItemExcel) { 107 JRExporter exporter = new JRXlsExporter(); 108 exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); 109 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileChooser.getSelectedFile().toString()); 110 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE); 111 exporter.exportReport(); 112 } else if(ae.getSource() == menuItemCvs) { 113 JRCsvExporter exporter = new JRCsvExporter(); 114 exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); 115 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, fileChooser.getSelectedFile().toString()); 116 exporter.exportReport(); 117 } else if(ae.getSource() == menuItemXml) { 118 JasperPrintManager.printReportToXmlFile(print, fileChooser.getSelectedFile().toString(), true); 119 } 120 } catch(JRException e) { 121 ShowExceptionMessageDialog.initExceptionDialogMessage(com.calipso.reportgenerator.common.LanguageTraslator.traslate("311"), e); 122 } 123 } 124 } 125 } 126 } 127 | Popular Tags |