KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > calipso > reportgenerator > userinterface > JasperReportUI


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 JavaDoc;
12 import java.awt.event.ActionEvent JavaDoc;
13
14 import com.calipso.reportgenerator.common.LanguageTraslator;
15 import com.calipso.reportgenerator.common.ShowExceptionMessageDialog;
16
17 /**
18  * Representa la interfaz del reporte estatico
19  */

20
21 public class JasperReportUI extends JFrame implements ActionListener JavaDoc {
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   /**
32    * Inicializa una instancia de <code>JasperReportUI</code>
33    * @param jrViewer
34    * @param print
35    */

36   public JasperReportUI(JRViewer jrViewer, JasperPrint print) {
37     this.print = print;
38     initialize(jrViewer);
39   }
40
41   /**
42    * Inicializa la interfaz
43    * @param jrViewer
44    */

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   /**
91    * Captura los eventos de la interfaz
92    * @param ae
93    */

94   public void actionPerformed(ActionEvent JavaDoc 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