KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > sheet > MeterIntervalDialog


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  * MeterIntervalDialog.java
28  *
29  * Created on 17 agosto 2005, 11.19
30  *
31  */

32
33 package it.businesslogic.ireport.gui.sheet;
34
35 import it.businesslogic.ireport.SubDataset;
36 import it.businesslogic.ireport.chart.DataRange;
37 import it.businesslogic.ireport.chart.MeterInterval;
38 import javax.swing.SpinnerNumberModel JavaDoc;
39 import it.businesslogic.ireport.util.I18n;
40
41 /**
42  *
43  * @author Administrator
44  */

45 public class MeterIntervalDialog extends javax.swing.JDialog JavaDoc {
46     
47     private MeterInterval meterInterval = null;
48     
49     private int dialogResult = javax.swing.JOptionPane.CANCEL_OPTION;
50     
51     /** Creates new form CategorySeriesDialog */
52     public MeterIntervalDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
53         super(parent, modal);
54         initComponents();
55         applyI18n();
56         
57         this.setSize(500,500);
58         it.businesslogic.ireport.util.Misc.centerFrame(this);
59         
60         javax.swing.KeyStroke JavaDoc escape = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, false);
61         javax.swing.Action JavaDoc escapeAction = new javax.swing.AbstractAction JavaDoc() {
62             public void actionPerformed(java.awt.event.ActionEvent JavaDoc e) {
63                 jButtonCancelActionPerformed(e);
64             }
65         };
66        
67         getRootPane().getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "ESCAPE");
68         getRootPane().getActionMap().put("ESCAPE", escapeAction);
69         
70         
71         jSpinnerAlpha.setModel(new SpinnerNumberModel JavaDoc(1.0d, 0.0d, 1.0d, 0.01d));
72         
73         //to make the default button ...
74
this.getRootPane().setDefaultButton(this.jButtonOK);
75     }
76     
77     
78     /**
79      * this method is used to pass the correct subdataset to the expression editor
80      */

81     public void setSubDataset( SubDataset sds )
82     {
83         jRTextExpressionHigh.setSubDataset(sds);
84         jRTextExpressionLow.setSubDataset(sds);
85     }
86     
87     /** This method is called from within the constructor to
88      * initialize the form.
89      * WARNING: Do NOT modify this code. The content of this method is
90      * always regenerated by the Form Editor.
91      */

92     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
93
private void initComponents() {
94         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
95
96         jPanel1 = new javax.swing.JPanel JavaDoc();
97         jLabelLabel = new javax.swing.JLabel JavaDoc();
98         jTextFieldLabel = new javax.swing.JTextField JavaDoc();
99         jLabelColor = new javax.swing.JLabel JavaDoc();
100         colorSelectorPanel = new it.businesslogic.ireport.gui.sheet.ColorSelectorPanel();
101         jButtonDefaultColor = new javax.swing.JButton JavaDoc();
102         jLabelAlpha = new javax.swing.JLabel JavaDoc();
103         jSpinnerAlpha = new javax.swing.JSpinner JavaDoc();
104         jLabelRangeLow = new javax.swing.JLabel JavaDoc();
105         jRTextExpressionLow = new it.businesslogic.ireport.gui.JRTextExpressionArea();
106         jLabelRangeHigh = new javax.swing.JLabel JavaDoc();
107         jRTextExpressionHigh = new it.businesslogic.ireport.gui.JRTextExpressionArea();
108         jSeparator1 = new javax.swing.JSeparator JavaDoc();
109         jPanel6 = new javax.swing.JPanel JavaDoc();
110         jPanel7 = new javax.swing.JPanel JavaDoc();
111         jButtonOK = new javax.swing.JButton JavaDoc();
112         jButtonCancel = new javax.swing.JButton JavaDoc();
113
114         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
115
116         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
117         setTitle("Time series");
118         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
119
120         jPanel1.setPreferredSize(new java.awt.Dimension JavaDoc(400, 250));
121         jLabelLabel.setText("Label");
122         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
123         gridBagConstraints.gridx = 0;
124         gridBagConstraints.gridy = 0;
125         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
126         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 4);
127         jPanel1.add(jLabelLabel, gridBagConstraints);
128
129         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
130         gridBagConstraints.gridx = 1;
131         gridBagConstraints.gridwidth = 2;
132         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
133         gridBagConstraints.weightx = 1.0;
134         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
135         jPanel1.add(jTextFieldLabel, gridBagConstraints);
136
137         jLabelColor.setText("Color");
138         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
139         gridBagConstraints.gridx = 0;
140         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
141         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 4);
142         jPanel1.add(jLabelColor, gridBagConstraints);
143
144         colorSelectorPanel.setBorder(new javax.swing.border.LineBorder JavaDoc(new java.awt.Color JavaDoc(102, 102, 102), 1, true));
145         colorSelectorPanel.setMinimumSize(new java.awt.Dimension JavaDoc(50, 10));
146         colorSelectorPanel.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
147         colorSelectorPanel.addActionListener(new java.awt.event.ActionListener JavaDoc() {
148             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
149                 colorSelectorPanelActionPerformed(evt);
150             }
151         });
152
153         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
154         gridBagConstraints.gridx = 1;
155         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
156         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
157         jPanel1.add(colorSelectorPanel, gridBagConstraints);
158
159         jButtonDefaultColor.setText("Use default color");
160         jButtonDefaultColor.addActionListener(new java.awt.event.ActionListener JavaDoc() {
161             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
162                 jButtonDefaultColorActionPerformed(evt);
163             }
164         });
165
166         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
167         gridBagConstraints.gridx = 2;
168         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
169         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 4);
170         jPanel1.add(jButtonDefaultColor, gridBagConstraints);
171
172         jLabelAlpha.setText("Alpha");
173         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
174         gridBagConstraints.gridx = 0;
175         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
176         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 4);
177         jPanel1.add(jLabelAlpha, gridBagConstraints);
178
179         jSpinnerAlpha.setMinimumSize(new java.awt.Dimension JavaDoc(100, 18));
180         jSpinnerAlpha.setPreferredSize(new java.awt.Dimension JavaDoc(130, 18));
181         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
182         gridBagConstraints.gridx = 1;
183         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
184         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
185         jPanel1.add(jSpinnerAlpha, gridBagConstraints);
186
187         jLabelRangeLow.setText("Data range low expression");
188         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
189         gridBagConstraints.gridx = 0;
190         gridBagConstraints.gridwidth = 3;
191         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
192         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
193         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
194         jPanel1.add(jLabelRangeLow, gridBagConstraints);
195
196         jRTextExpressionLow.setBorder(javax.swing.BorderFactory.createEtchedBorder());
197         jRTextExpressionLow.setElectricScroll(0);
198         jRTextExpressionLow.setMinimumSize(new java.awt.Dimension JavaDoc(10, 10));
199         jRTextExpressionLow.setPreferredSize(new java.awt.Dimension JavaDoc(10, 10));
200         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
201         gridBagConstraints.gridx = 0;
202         gridBagConstraints.gridwidth = 3;
203         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
204         gridBagConstraints.weightx = 1.0;
205         gridBagConstraints.weighty = 1.0;
206         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 4, 0);
207         jPanel1.add(jRTextExpressionLow, gridBagConstraints);
208
209         jLabelRangeHigh.setText("Data range high expression");
210         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
211         gridBagConstraints.gridx = 0;
212         gridBagConstraints.gridwidth = 3;
213         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
214         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
215         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
216         jPanel1.add(jLabelRangeHigh, gridBagConstraints);
217
218         jRTextExpressionHigh.setBorder(javax.swing.BorderFactory.createEtchedBorder());
219         jRTextExpressionHigh.setElectricScroll(0);
220         jRTextExpressionHigh.setMinimumSize(new java.awt.Dimension JavaDoc(10, 10));
221         jRTextExpressionHigh.setPreferredSize(new java.awt.Dimension JavaDoc(10, 10));
222         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
223         gridBagConstraints.gridx = 0;
224         gridBagConstraints.gridwidth = 3;
225         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
226         gridBagConstraints.weightx = 1.0;
227         gridBagConstraints.weighty = 1.0;
228         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 4, 0);
229         jPanel1.add(jRTextExpressionHigh, gridBagConstraints);
230
231         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
232         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
233         gridBagConstraints.weightx = 1.0;
234         gridBagConstraints.weighty = 1.0;
235         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
236         getContentPane().add(jPanel1, gridBagConstraints);
237
238         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
239         gridBagConstraints.gridx = 0;
240         gridBagConstraints.gridwidth = 2;
241         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
242         gridBagConstraints.weightx = 1.0;
243         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 0);
244         getContentPane().add(jSeparator1, gridBagConstraints);
245
246         jPanel6.setLayout(new java.awt.GridBagLayout JavaDoc());
247
248         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
249         gridBagConstraints.gridheight = 2;
250         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
251         gridBagConstraints.weightx = 1.0;
252         gridBagConstraints.weighty = 1.0;
253         jPanel6.add(jPanel7, gridBagConstraints);
254
255         jButtonOK.setMnemonic('o');
256         jButtonOK.setText("OK");
257         jButtonOK.addActionListener(new java.awt.event.ActionListener JavaDoc() {
258             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
259                 jButtonOKActionPerformed(evt);
260             }
261         });
262
263         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
264         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
265         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
266         jPanel6.add(jButtonOK, gridBagConstraints);
267
268         jButtonCancel.setMnemonic('c');
269         jButtonCancel.setText("Cancel");
270         jButtonCancel.addActionListener(new java.awt.event.ActionListener JavaDoc() {
271             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
272                 jButtonCancelActionPerformed(evt);
273             }
274         });
275
276         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
277         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
278         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 0);
279         jPanel6.add(jButtonCancel, gridBagConstraints);
280
281         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
282         gridBagConstraints.gridx = 0;
283         gridBagConstraints.gridy = 18;
284         gridBagConstraints.gridwidth = 2;
285         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
286         gridBagConstraints.weightx = 1.0;
287         getContentPane().add(jPanel6, gridBagConstraints);
288
289         pack();
290     }// </editor-fold>//GEN-END:initComponents
291

292     private void jButtonDefaultColorActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDefaultColorActionPerformed
293

294         colorSelectorPanel.setValue(null);
295         
296     }//GEN-LAST:event_jButtonDefaultColorActionPerformed
297

298     private void colorSelectorPanelActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_colorSelectorPanelActionPerformed
299

300     }//GEN-LAST:event_colorSelectorPanelActionPerformed
301

302     private void jButtonCancelActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
303
this.setVisible(false);
304         this.dispose();
305     }//GEN-LAST:event_jButtonCancelActionPerformed
306

307     private void jButtonOKActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonOKActionPerformed
308

309         MeterInterval tmpmi = getMeterInterval();
310         if (tmpmi == null)
311         {
312             tmpmi = new MeterInterval();
313         }
314         
315         tmpmi.setLabel( jTextFieldLabel.getText());
316         tmpmi.setColor( (java.awt.Color JavaDoc)ColorSelectorPanel.parseColorString( ""+colorSelectorPanel.getValue()));
317         
318         tmpmi.setAlpha( ((SpinnerNumberModel JavaDoc)jSpinnerAlpha.getModel()).getNumber().doubleValue() );
319         tmpmi.getDataRange().setLowExpression( jRTextExpressionLow.getText() );
320         tmpmi.getDataRange().setHighExpression( jRTextExpressionHigh.getText() );
321         
322         setMeterInterval( tmpmi );
323         
324         this.setDialogResult(javax.swing.JOptionPane.OK_OPTION);
325         this.setVisible(false);
326         this.dispose();
327     }//GEN-LAST:event_jButtonOKActionPerformed
328

329     
330     public int getDialogResult() {
331         return dialogResult;
332     }
333
334     public void setDialogResult(int dialogResult) {
335         this.dialogResult = dialogResult;
336     }
337     
338     // Variables declaration - do not modify//GEN-BEGIN:variables
339
private it.businesslogic.ireport.gui.sheet.ColorSelectorPanel colorSelectorPanel;
340     private javax.swing.JButton JavaDoc jButtonCancel;
341     private javax.swing.JButton JavaDoc jButtonDefaultColor;
342     private javax.swing.JButton JavaDoc jButtonOK;
343     private javax.swing.JLabel JavaDoc jLabelAlpha;
344     private javax.swing.JLabel JavaDoc jLabelColor;
345     private javax.swing.JLabel JavaDoc jLabelLabel;
346     private javax.swing.JLabel JavaDoc jLabelRangeHigh;
347     private javax.swing.JLabel JavaDoc jLabelRangeLow;
348     private javax.swing.JPanel JavaDoc jPanel1;
349     private javax.swing.JPanel JavaDoc jPanel6;
350     private javax.swing.JPanel JavaDoc jPanel7;
351     private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionHigh;
352     private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionLow;
353     private javax.swing.JSeparator JavaDoc jSeparator1;
354     private javax.swing.JSpinner JavaDoc jSpinnerAlpha;
355     private javax.swing.JTextField JavaDoc jTextFieldLabel;
356     // End of variables declaration//GEN-END:variables
357

358         public void applyI18n()
359         {
360                 // Start autogenerated code ----------------------
361
jButtonDefaultColor.setText(I18n.getString("meterIntervalDialog.buttonDefaultColor","Use default color"));
362                 // End autogenerated code ----------------------
363
jButtonOK.setText( it.businesslogic.ireport.util.I18n.getString("ok","Ok"));
364             jButtonCancel.setText( it.businesslogic.ireport.util.I18n.getString("cancel","Cancel"));
365              
366             jLabelLabel.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.label","Label"));
367             jLabelColor.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.color","Color"));
368             jLabelAlpha.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.alpha","Alpha"));
369             jLabelRangeHigh.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.highexp","Data range high expression"));
370             jLabelRangeLow.setText( it.businesslogic.ireport.util.I18n.getString("meterinterval.lowexp","Data range low expression"));
371             
372             this.getRootPane().updateUI();
373         }
374
375     
376     public MeterInterval getMeterInterval() {
377         return meterInterval;
378     }
379
380     /*
381      * The MeterInterval is stored and modified only when ok is pressed.
382      * No further modifications are required to the original object like
383      * all around iReport.
384      *
385      */

386     public void setMeterInterval(MeterInterval meterInterval) {
387         this.meterInterval = meterInterval;
388         
389         if (meterInterval != null)
390         {
391             jTextFieldLabel.setText( meterInterval.getLabel() );
392             ((SpinnerNumberModel JavaDoc)jSpinnerAlpha.getModel()).setValue( new Double JavaDoc( meterInterval.getAlpha() ));
393             if ( meterInterval.getColor() != null)
394             {
395                 colorSelectorPanel.setValue(meterInterval.getColor() );
396             }
397             jRTextExpressionLow.setText( meterInterval.getDataRange().getLowExpression() );
398             jRTextExpressionHigh.setText( meterInterval.getDataRange().getHighExpression() );
399         }
400     }
401 }
402
Popular Tags