KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > chart > gui > ChartSelectionJDialog


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * ChartSelectionJDialog.java
28  *
29  * Created on 8 luglio 2005, 23.26
30  *
31  */

32
33 package it.businesslogic.ireport.chart.gui;
34 import it.businesslogic.ireport.gui.*;
35 import it.businesslogic.ireport.*;
36 import javax.swing.tree.*;
37 import javax.swing.table.*;
38 import javax.swing.*;
39 import it.businesslogic.ireport.chart.*;
40 import java.util.*;
41 import it.businesslogic.ireport.gui.sheet.*;
42 import it.businesslogic.ireport.gui.listview.*;
43 import it.businesslogic.ireport.util.I18n;
44 /**
45  *
46  * @author Administrator
47  */

48 public class ChartSelectionJDialog extends javax.swing.JDialog JavaDoc {
49     
50     private int dialogResult = javax.swing.JOptionPane.CANCEL_OPTION;
51     private it.businesslogic.ireport.gui.listview.JListView jListView = null;
52     private JList jList1 = null;
53     
54     private Chart chart = null;
55     
56     private boolean multiAxisMode = false;
57     
58     
59     /** Creates new form ChartSelectionJDialog */
60     public ChartSelectionJDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
61         super(parent, modal);
62         initAll();
63     }
64     
65     /** Creates new form ChartSelectionJDialog */
66     public ChartSelectionJDialog(java.awt.Frame JavaDoc parent, boolean modal) {
67         super(parent, modal);
68         initAll();
69     }
70     
71     
72
73     
74     public void updateCharts()
75     {
76         
77         javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jList1.getModel();
78         
79         dlm.removeAllElements();
80         
81         if (!isMultiAxisMode()) dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/pie.png","Pie", "it.businesslogic.ireport.chart.PieChart"));
82         if (!isMultiAxisMode())dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/pie3d.png","Pie 3D", "it.businesslogic.ireport.chart.Pie3DChart"));
83         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/bar.png","Bar", "it.businesslogic.ireport.chart.BarChart"));
84         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/bar3d.png","Bar 3D", "it.businesslogic.ireport.chart.Bar3DChart"));
85         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/xybar.png","YX Bar", "it.businesslogic.ireport.chart.XYBarChart"));
86         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/stackedbar.png","Stacked Bar", "it.businesslogic.ireport.chart.StackedBarChart"));
87         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/stackedbar3d.png","Stacked Bar 3D", "it.businesslogic.ireport.chart.StackedBar3DChart"));
88         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/line.png","Line", "it.businesslogic.ireport.chart.LineChart"));
89         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/xyline.png","XY Line", "it.businesslogic.ireport.chart.XYLineChart"));
90         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/area.png","Area", "it.businesslogic.ireport.chart.AreaChart"));
91         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/xyarea.png","YX Area", "it.businesslogic.ireport.chart.XYAreaChart"));
92         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/scatter.png","Scatter", "it.businesslogic.ireport.chart.ScatterChart"));
93         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/bubble.png","Bubble", "it.businesslogic.ireport.chart.BubbleChart"));
94         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/timeseries.png","Time Series", "it.businesslogic.ireport.chart.TimeSeriesChart"));
95         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/highlow.png","High Low", "it.businesslogic.ireport.chart.HighLowChart"));
96         dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/candlestick.png","Candlestick", "it.businesslogic.ireport.chart.CandlestickChart"));
97         if (!isMultiAxisMode()) dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/meter.png","Meter", "it.businesslogic.ireport.chart.MeterChart"));
98         if (!isMultiAxisMode()) dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/thermometer.png","Thermometer", "it.businesslogic.ireport.chart.ThermometerChart"));
99         if (!isMultiAxisMode()) dlm.addElement(new ChartDescriptor("/it/businesslogic/ireport/icons/charts/multiaxis.png","Multi Axis", "it.businesslogic.ireport.chart.MultiAxisChart"));
100         
101         jList1.updateUI();
102         
103     }
104     
105     public void initAll()
106     {
107         initComponents();
108         applyI18n();
109         
110         this.setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION);
111         jListView = new JListView();
112         jList1 = (JList)jListView.getList();
113         
114         
115         jPanelChartType.add(jListView, java.awt.BorderLayout.CENTER);
116         
117         javax.swing.DefaultListModel JavaDoc dlm = new javax.swing.DefaultListModel JavaDoc() ;
118         jList1.setModel(dlm );
119         jList1.setCellRenderer(new ChartCellRenderer());
120         
121         updateCharts();
122         
123         
124         jList1.setLayoutOrientation( JList.HORIZONTAL_WRAP);
125         this.setSize(400,400);
126         it.businesslogic.ireport.util.Misc.centerFrame(this);
127         
128         jList1.setSelectionMode( DefaultListSelectionModel.SINGLE_SELECTION );
129         jList1.addListSelectionListener( new javax.swing.event.ListSelectionListener JavaDoc() {
130             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc e)
131             {
132                 selectedChart();
133             }
134             
135         });
136         
137         javax.swing.KeyStroke JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
138         javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
139             public void actionPerformed(java.awt.event.ActionEvent JavaDoc e) {
140                 jButtonCancelActionPerformed(e);
141             }
142         };
143        
144         getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE");
145         getRootPane().getActionMap().put("ESCAPE", escapeAction);
146
147
148         //to make the default button ...
149
this.getRootPane().setDefaultButton(this.jButtonOk);
150     }
151     
152     /** This method is called from within the constructor to
153      * initialize the form.
154      * WARNING: Do NOT modify this code. The content of this method is
155      * always regenerated by the Form Editor.
156      */

157     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
158
private void initComponents() {
159         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
160
161         jPanelChartType = new javax.swing.JPanel JavaDoc();
162         jPanel5 = new javax.swing.JPanel JavaDoc();
163         jLabelChartNameVal = new javax.swing.JLabel JavaDoc();
164         jPanel6 = new javax.swing.JPanel JavaDoc();
165         jPanel1 = new javax.swing.JPanel JavaDoc();
166         jPanel2 = new javax.swing.JPanel JavaDoc();
167         jButtonOk = new javax.swing.JButton JavaDoc();
168         jButtonCancel = new javax.swing.JButton JavaDoc();
169
170         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
171         jPanelChartType.setLayout(new java.awt.BorderLayout JavaDoc());
172
173         jPanel5.setLayout(new java.awt.GridBagLayout JavaDoc());
174
175         jPanel5.setBorder(new javax.swing.border.TitledBorder JavaDoc(new javax.swing.border.EtchedBorder JavaDoc(), "Chart info"));
176         jPanel5.setMinimumSize(new java.awt.Dimension JavaDoc(10, 50));
177         jPanel5.setPreferredSize(new java.awt.Dimension JavaDoc(10, 50));
178         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
179         gridBagConstraints.gridx = 1;
180         gridBagConstraints.gridy = 0;
181         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
182         gridBagConstraints.ipadx = 1;
183         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
184         gridBagConstraints.weightx = 1.0;
185         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
186         jPanel5.add(jLabelChartNameVal, gridBagConstraints);
187
188         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
189         gridBagConstraints.gridx = 0;
190         gridBagConstraints.weighty = 1.0;
191         jPanel5.add(jPanel6, gridBagConstraints);
192
193         jPanelChartType.add(jPanel5, java.awt.BorderLayout.SOUTH);
194
195         getContentPane().add(jPanelChartType, java.awt.BorderLayout.CENTER);
196
197         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
198
199         jPanel1.setMinimumSize(new java.awt.Dimension JavaDoc(10, 30));
200         jPanel1.setPreferredSize(new java.awt.Dimension JavaDoc(10, 30));
201         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
202         gridBagConstraints.weightx = 1.0;
203         jPanel1.add(jPanel2, gridBagConstraints);
204
205         jButtonOk.setText("OK");
206         jButtonOk.setEnabled(false);
207         jButtonOk.setMaximumSize(new java.awt.Dimension JavaDoc(200, 25));
208         jButtonOk.setPreferredSize(new java.awt.Dimension JavaDoc(100, 25));
209         jButtonOk.addActionListener(new java.awt.event.ActionListener JavaDoc() {
210             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
211                 jButtonOkActionPerformed(evt);
212             }
213         });
214
215         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
216         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
217         gridBagConstraints.weightx = 0.1;
218         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 2, 4, 4);
219         jPanel1.add(jButtonOk, gridBagConstraints);
220
221         jButtonCancel.setText("Cancel");
222         jButtonCancel.addActionListener(new java.awt.event.ActionListener JavaDoc() {
223             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
224                 jButtonCancelActionPerformed(evt);
225             }
226         });
227
228         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
229         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 2, 4, 2);
230         jPanel1.add(jButtonCancel, gridBagConstraints);
231
232         getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH);
233
234         pack();
235     }
236     // </editor-fold>//GEN-END:initComponents
237

238     private void jButtonCancelActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
239

240         setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION );
241         this.setVisible(false);
242         this.dispose();
243         
244     }//GEN-LAST:event_jButtonCancelActionPerformed
245

246     private void jButtonOkActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonOkActionPerformed
247

248         setDialogResult( javax.swing.JOptionPane.OK_OPTION );
249         
250         ChartDescriptor cd = (ChartDescriptor)jList1.getSelectedValue();
251         try {
252             this.setChart( (Chart)(getClass().forName(cd.getImplementationClass())).newInstance() );
253         } catch (Exception JavaDoc ex)
254         {
255             
256         }
257         this.setVisible(true);
258         this.dispose();
259         
260     }//GEN-LAST:event_jButtonOkActionPerformed
261

262     public int getDialogResult() {
263         return dialogResult;
264     }
265
266     public void setDialogResult(int dialogResult) {
267         this.dialogResult = dialogResult;
268     }
269     
270     // Variables declaration - do not modify//GEN-BEGIN:variables
271
private javax.swing.JButton JavaDoc jButtonCancel;
272     private javax.swing.JButton JavaDoc jButtonOk;
273     private javax.swing.JLabel JavaDoc jLabelChartNameVal;
274     private javax.swing.JPanel JavaDoc jPanel1;
275     private javax.swing.JPanel JavaDoc jPanel2;
276     private javax.swing.JPanel JavaDoc jPanel5;
277     private javax.swing.JPanel JavaDoc jPanel6;
278     private javax.swing.JPanel JavaDoc jPanelChartType;
279     // End of variables declaration//GEN-END:variables
280

281       void selectedChart()
282     {
283           if (jList1.getSelectedIndex() >= 0)
284           {
285             ChartDescriptor cd = (ChartDescriptor)jList1.getSelectedValue();
286             this.jLabelChartNameVal.setText(cd.getName());
287             
288             this.jButtonOk.setEnabled(true);
289           }
290           else
291           {
292               this.jButtonOk.setEnabled(false);
293           }
294     }
295
296     public Chart getChart() {
297         return chart;
298     }
299
300     public void setChart(Chart chart) {
301         this.chart = chart;
302     }
303
304     public boolean isMultiAxisMode() {
305         return multiAxisMode;
306     }
307
308     public void setMultiAxisMode(boolean multiAxisMode) {
309         this.multiAxisMode = multiAxisMode;
310         
311         updateCharts();
312     }
313     
314     public void applyI18n(){
315                 // Start autogenerated code ----------------------
316
jButtonCancel.setText(I18n.getString("chartSelectionJDialog.buttonCancel","Cancel"));
317                 jButtonOk.setText(I18n.getString("chartSelectionJDialog.buttonOk","OK"));
318                 // End autogenerated code ----------------------
319
((javax.swing.border.TitledBorder JavaDoc)jPanel5.getBorder()).setTitle( I18n.getString("chartSelectionJDialog.panelBorder.ChartInfo","Chart info") );
320             
321                 
322     }
323 }
324
Popular Tags