KickJava   Java API By Example, From Geeks To Geeks.

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


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  * MeterIntervalsDialog.java
28  *
29  * Created on September 27, 2006, 1:16 AM
30  *
31  */

32
33 package it.businesslogic.ireport.gui.sheet;
34
35 import it.businesslogic.ireport.chart.MeterInterval;
36 import it.businesslogic.ireport.chart.SeriesColor;
37 import it.businesslogic.ireport.util.Misc;
38 import java.awt.Color JavaDoc;
39 import java.text.DecimalFormat JavaDoc;
40 import javax.swing.DefaultListModel JavaDoc;
41 import javax.swing.DefaultListSelectionModel JavaDoc;
42 import javax.swing.JColorChooser JavaDoc;
43 import javax.swing.JLabel JavaDoc;
44 import javax.swing.JOptionPane JavaDoc;
45 import javax.swing.SwingConstants JavaDoc;
46 import javax.swing.event.ListSelectionEvent JavaDoc;
47 import javax.swing.event.ListSelectionListener JavaDoc;
48 import javax.swing.table.DefaultTableCellRenderer JavaDoc;
49 import javax.swing.table.DefaultTableColumnModel JavaDoc;
50 import javax.swing.table.DefaultTableModel JavaDoc;
51 import it.businesslogic.ireport.util.I18n;
52
53 /**
54  *
55  * @author gtoffoli
56  */

57 public class MeterIntervalsDialog extends javax.swing.JDialog JavaDoc {
58     
59     private int dialogResult = javax.swing.JOptionPane.CANCEL_OPTION;
60     private java.util.List JavaDoc meterIntervals = null;
61     
62     public static java.util.List JavaDoc clipboard = new java.util.ArrayList JavaDoc();
63     public static java.util.List JavaDoc lastIntervals = new java.util.ArrayList JavaDoc();
64     
65     /** Creates new form SeriesColorsDialog */
66     public MeterIntervalsDialog(java.awt.Frame JavaDoc parent, boolean modal) {
67         super(parent, modal);
68         initAll();
69     }
70     
71     /** Creates new form SeriesColorsDialog */
72     public MeterIntervalsDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
73         super(parent, modal);
74         initAll();
75     }
76     
77     public void initAll()
78     {
79         initComponents();
80         
81         applyI18n();
82         //jList1.setCellRenderer(new ColorsListCellRenderer());
83

84         jButtonPasteInterval.setEnabled( clipboard.size() > 0 );
85         jButtonUseLast.setEnabled( lastIntervals.size() > 0 );
86         
87          ((DefaultTableColumnModel JavaDoc)jTable1.getColumnModel()).getColumn(0).setCellRenderer(new MeterIntervalTableCellRenderer());
88          ((DefaultTableColumnModel JavaDoc)jTable1.getColumnModel()).getColumn(1).setPreferredWidth(50);
89          DefaultTableCellRenderer JavaDoc dtcr = new DefaultTableCellRenderer JavaDoc();
90          dtcr.setHorizontalAlignment( SwingConstants.CENTER );
91          ((DefaultTableColumnModel JavaDoc)jTable1.getColumnModel()).getColumn(1).setCellRenderer(dtcr);
92             
93          this.pack();
94          Misc.centerFrame(this);
95         
96         jTable1.getSelectionModel().addListSelectionListener( new ListSelectionListener JavaDoc()
97         {
98             public void valueChanged(ListSelectionEvent JavaDoc e)
99             {
100                 jTable1ValueChanged(e);
101             }
102         });
103     }
104     
105     private void jTable1ValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
106
107         
108         if (jTable1.getSelectedRowCount() > 0)
109         {
110             jButtonDelete.setEnabled(true);
111             jButtonModify.setEnabled(true);
112             jButtonMoveUp.setEnabled(jTable1.getSelectedRow() > 0);
113             jButtonMoveDown.setEnabled(jTable1.getSelectedRow() < jTable1.getRowCount()-1);
114         }
115         else
116         {
117             jButtonModify.setEnabled(false);
118             jButtonDelete.setEnabled(false);
119             jButtonMoveUp.setEnabled(false);
120             jButtonMoveDown.setEnabled(false);
121         }
122     
123     }
124     
125     /** This method is called from within the constructor to
126      * initialize the form.
127      * WARNING: Do NOT modify this code. The content of this method is
128      * always regenerated by the Form Editor.
129      */

130     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
131
private void initComponents() {
132         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
133
134         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
135         jTable1 = new javax.swing.JTable JavaDoc();
136         jPanel2 = new javax.swing.JPanel JavaDoc();
137         jButtonAdd = new javax.swing.JButton JavaDoc();
138         jButtonModify = new javax.swing.JButton JavaDoc();
139         jButtonDelete = new javax.swing.JButton JavaDoc();
140         jButtonMoveUp = new javax.swing.JButton JavaDoc();
141         jButtonMoveDown = new javax.swing.JButton JavaDoc();
142         jButtonCopyInterval = new javax.swing.JButton JavaDoc();
143         jButtonPasteInterval = new javax.swing.JButton JavaDoc();
144         jButtonUseLast = new javax.swing.JButton JavaDoc();
145         jSeparator1 = new javax.swing.JSeparator JavaDoc();
146         jPanel1 = new javax.swing.JPanel JavaDoc();
147         jButtonOk = new javax.swing.JButton JavaDoc();
148         jButtonCancel = new javax.swing.JButton JavaDoc();
149
150         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
151
152         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
153         jTable1.setModel(new javax.swing.table.DefaultTableModel JavaDoc(
154             new Object JavaDoc [][] {
155
156             },
157             new String JavaDoc [] {
158                 "Label", "Alpha", "Low exp", "High exp"
159             }
160         ) {
161             Class JavaDoc[] types = new Class JavaDoc [] {
162                 java.lang.String JavaDoc.class, java.lang.String JavaDoc.class, java.lang.String JavaDoc.class, java.lang.String JavaDoc.class
163             };
164             boolean[] canEdit = new boolean [] {
165                 false, false, false, false
166             };
167
168             public Class JavaDoc getColumnClass(int columnIndex) {
169                 return types [columnIndex];
170             }
171
172             public boolean isCellEditable(int rowIndex, int columnIndex) {
173                 return canEdit [columnIndex];
174             }
175         });
176         jTable1.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
177             public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
178                 jTable1MouseClicked(evt);
179             }
180         });
181
182         jScrollPane1.setViewportView(jTable1);
183
184         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
185         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
186         gridBagConstraints.weightx = 1.0;
187         gridBagConstraints.weighty = 1.0;
188         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
189         getContentPane().add(jScrollPane1, gridBagConstraints);
190
191         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
192
193         jPanel2.setMinimumSize(new java.awt.Dimension JavaDoc(150, 150));
194         jPanel2.setPreferredSize(new java.awt.Dimension JavaDoc(100, 283));
195         jButtonAdd.setText("Add");
196         jButtonAdd.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
197         jButtonAdd.addActionListener(new java.awt.event.ActionListener JavaDoc() {
198             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
199                 jButtonAddActionPerformed(evt);
200             }
201         });
202
203         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
204         gridBagConstraints.gridx = 0;
205         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
206         gridBagConstraints.weightx = 1.0;
207         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
208         jPanel2.add(jButtonAdd, gridBagConstraints);
209
210         jButtonModify.setText("Modify");
211         jButtonModify.setEnabled(false);
212         jButtonModify.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
213         jButtonModify.addActionListener(new java.awt.event.ActionListener JavaDoc() {
214             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
215                 jButtonModifyActionPerformed(evt);
216             }
217         });
218
219         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
220         gridBagConstraints.gridx = 0;
221         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
222         gridBagConstraints.weightx = 1.0;
223         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
224         jPanel2.add(jButtonModify, gridBagConstraints);
225
226         jButtonDelete.setText("Delete");
227         jButtonDelete.setEnabled(false);
228         jButtonDelete.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
229         jButtonDelete.addActionListener(new java.awt.event.ActionListener JavaDoc() {
230             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
231                 jButtonDeleteActionPerformed(evt);
232             }
233         });
234
235         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
236         gridBagConstraints.gridx = 0;
237         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
238         gridBagConstraints.weightx = 1.0;
239         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
240         jPanel2.add(jButtonDelete, gridBagConstraints);
241
242         jButtonMoveUp.setText("Move up");
243         jButtonMoveUp.setEnabled(false);
244         jButtonMoveUp.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
245         jButtonMoveUp.addActionListener(new java.awt.event.ActionListener JavaDoc() {
246             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
247                 jButtonMoveUpActionPerformed(evt);
248             }
249         });
250
251         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
252         gridBagConstraints.gridx = 0;
253         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
254         gridBagConstraints.weightx = 1.0;
255         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
256         jPanel2.add(jButtonMoveUp, gridBagConstraints);
257
258         jButtonMoveDown.setText("Move down");
259         jButtonMoveDown.setEnabled(false);
260         jButtonMoveDown.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
261         jButtonMoveDown.addActionListener(new java.awt.event.ActionListener JavaDoc() {
262             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
263                 jButtonMoveDownActionPerformed(evt);
264             }
265         });
266
267         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
268         gridBagConstraints.gridx = 0;
269         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
270         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
271         gridBagConstraints.weightx = 1.0;
272         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 14, 4);
273         jPanel2.add(jButtonMoveDown, gridBagConstraints);
274
275         jButtonCopyInterval.setText("Copy intervals");
276         jButtonCopyInterval.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
277         jButtonCopyInterval.addActionListener(new java.awt.event.ActionListener JavaDoc() {
278             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
279                 jButtonCopyIntervalActionPerformed(evt);
280             }
281         });
282
283         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
284         gridBagConstraints.gridx = 0;
285         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
286         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
287         gridBagConstraints.weightx = 1.0;
288         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
289         jPanel2.add(jButtonCopyInterval, gridBagConstraints);
290
291         jButtonPasteInterval.setText("Paste intervals");
292         jButtonPasteInterval.setEnabled(false);
293         jButtonPasteInterval.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
294         jButtonPasteInterval.addActionListener(new java.awt.event.ActionListener JavaDoc() {
295             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
296                 jButtonPasteIntervalActionPerformed(evt);
297             }
298         });
299
300         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
301         gridBagConstraints.gridx = 0;
302         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
303         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
304         gridBagConstraints.weightx = 1.0;
305         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
306         jPanel2.add(jButtonPasteInterval, gridBagConstraints);
307
308         jButtonUseLast.setText("Use last");
309         jButtonUseLast.setEnabled(false);
310         jButtonUseLast.setMargin(new java.awt.Insets JavaDoc(2, 8, 2, 8));
311         jButtonUseLast.addActionListener(new java.awt.event.ActionListener JavaDoc() {
312             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
313                 jButtonPasteIntervalActionPerformed1(evt);
314             }
315         });
316
317         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
318         gridBagConstraints.gridx = 0;
319         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
320         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
321         gridBagConstraints.weightx = 1.0;
322         gridBagConstraints.weighty = 1.0;
323         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 4);
324         jPanel2.add(jButtonUseLast, gridBagConstraints);
325
326         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
327         gridBagConstraints.gridx = 1;
328         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
329         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
330         getContentPane().add(jPanel2, gridBagConstraints);
331
332         jSeparator1.setMinimumSize(new java.awt.Dimension JavaDoc(0, 2));
333         jSeparator1.setPreferredSize(new java.awt.Dimension JavaDoc(3, 2));
334         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
335         gridBagConstraints.gridx = 0;
336         gridBagConstraints.gridwidth = 2;
337         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
338         getContentPane().add(jSeparator1, gridBagConstraints);
339
340         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
341
342         jPanel1.setPreferredSize(new java.awt.Dimension JavaDoc(320, 23));
343         jButtonOk.setText("OK");
344         jButtonOk.addActionListener(new java.awt.event.ActionListener JavaDoc() {
345             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
346                 jButtonOkActionPerformed(evt);
347             }
348         });
349
350         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
351         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
352         gridBagConstraints.weightx = 1.0;
353         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
354         jPanel1.add(jButtonOk, gridBagConstraints);
355
356         jButtonCancel.setText("Cancel");
357         jButtonCancel.addActionListener(new java.awt.event.ActionListener JavaDoc() {
358             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
359                 jButtonCancelActionPerformed(evt);
360             }
361         });
362
363         jPanel1.add(jButtonCancel, new java.awt.GridBagConstraints JavaDoc());
364
365         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
366         gridBagConstraints.gridx = 0;
367         gridBagConstraints.gridwidth = 2;
368         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
369         gridBagConstraints.weightx = 1.0;
370         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
371         getContentPane().add(jPanel1, gridBagConstraints);
372
373         pack();
374     }// </editor-fold>//GEN-END:initComponents
375

376     private void jTable1MouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTable1MouseClicked
377

378          if (evt.getButton() == evt.BUTTON1 && evt.getClickCount() == 2)
379         {
380             jButtonModifyActionPerformed(null);
381         }
382         
383     }//GEN-LAST:event_jTable1MouseClicked
384

385     private void jButtonPasteIntervalActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonPasteIntervalActionPerformed1
386
if (lastIntervals.size() > 0)
387         {
388             for (int i=0; i<lastIntervals.size(); ++i)
389             {
390                 addRowValues( ((MeterInterval)lastIntervals.get(i)).cloneMe() );
391             }
392         }
393     }//GEN-LAST:event_jButtonPasteIntervalActionPerformed1
394

395     private void jButtonPasteIntervalActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonPasteIntervalActionPerformed
396

397         if (clipboard.size() > 0)
398         {
399             for (int i=0; i<clipboard.size(); ++i)
400             {
401                 addRowValues( ((MeterInterval)clipboard.get(i)).cloneMe() );
402             }
403         }
404         
405         
406     }//GEN-LAST:event_jButtonPasteIntervalActionPerformed
407

408     private void jButtonCopyIntervalActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCopyIntervalActionPerformed
409

410         if (jTable1.getRowCount() > 0)
411         {
412             clipboard.clear();
413             for (int i=0; i<jTable1.getRowCount(); ++i)
414             {
415                 clipboard.add( ((MeterInterval)jTable1.getValueAt(i,0)).cloneMe() );
416             }
417         }
418         
419         jButtonPasteInterval.setEnabled(true);
420     }//GEN-LAST:event_jButtonCopyIntervalActionPerformed
421

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

424         setDialogResult( JOptionPane.CANCEL_OPTION);
425         setVisible(false);
426         dispose();
427         
428     }//GEN-LAST:event_jButtonCancelActionPerformed
429

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

432         
433         java.util.List JavaDoc temp_list = new java.util.ArrayList JavaDoc();
434
435         lastIntervals.clear();
436         
437         for (int i=0; i<jTable1.getRowCount(); ++i)
438         {
439             temp_list.add( ((MeterInterval)jTable1.getValueAt(i,0)).cloneMe() );
440             lastIntervals.add( ((MeterInterval)jTable1.getValueAt(i,0)).cloneMe() );
441         }
442         
443         setMeterIntervals( temp_list );
444         setDialogResult(JOptionPane.OK_OPTION);
445         this.setVisible(false);
446         this.dispose();
447         
448     }//GEN-LAST:event_jButtonOkActionPerformed
449

450     private void jButtonMoveDownActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonMoveDownActionPerformed
451
if (jTable1.getSelectedRowCount() > 0)
452         {
453             DefaultTableModel JavaDoc dtm = (DefaultTableModel JavaDoc)jTable1.getModel();
454             int[] indices = jTable1.getSelectedRows();
455             for (int i=indices.length-1; i>=0; --i)
456             {
457                 if (indices[i] >= (jTable1.getRowCount() -1)) continue;
458
459                 Object JavaDoc val = jTable1.getValueAt( indices[i], 0);
460                 dtm.removeRow(indices[i]);
461                 dtm.insertRow(indices[i]+1, new Object JavaDoc[5] );
462                 setRowValues( (MeterInterval)val, indices[i]+1);
463                 indices[i]++;
464             }
465             
466             DefaultListSelectionModel JavaDoc dlsm = (DefaultListSelectionModel JavaDoc)jTable1.getSelectionModel();
467             dlsm.setValueIsAdjusting(true);
468             dlsm.clearSelection();
469             for (int i=0; i<indices.length; ++i)
470             {
471                 dlsm.addSelectionInterval(indices[i], indices[i]);
472             }
473             dlsm.setValueIsAdjusting( false );
474         }
475     }//GEN-LAST:event_jButtonMoveDownActionPerformed
476

477     private void jButtonMoveUpActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonMoveUpActionPerformed
478

479     if (jTable1.getSelectedRow() > 0)
480         {
481             DefaultTableModel JavaDoc dtm = (DefaultTableModel JavaDoc)jTable1.getModel();
482             int[] indices = jTable1.getSelectedRows();
483             for (int i=indices.length-1; i>=0; --i)
484             {
485                 if (indices[i] == 0) continue;
486
487                 Object JavaDoc val = jTable1.getValueAt( indices[i], 0);
488                 dtm.removeRow(indices[i]);
489                 dtm.insertRow(indices[i]-1, new Object JavaDoc[5] );
490                 setRowValues( (MeterInterval)val, indices[i]-1);
491                 indices[i]--;
492             }
493             
494             DefaultListSelectionModel JavaDoc dlsm = (DefaultListSelectionModel JavaDoc)jTable1.getSelectionModel();
495             dlsm.setValueIsAdjusting(true);
496             dlsm.clearSelection();
497             for (int i=0; i<indices.length; ++i)
498             {
499                 dlsm.addSelectionInterval(indices[i], indices[i]);
500             }
501             dlsm.setValueIsAdjusting( false );
502         }
503     }//GEN-LAST:event_jButtonMoveUpActionPerformed
504

505     private void jButtonDeleteActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDeleteActionPerformed
506

507         
508         int[] indexes = jTable1.getSelectedRows();
509         
510         for (int i=indexes.length-1; i>=0; --i)
511         {
512             ((DefaultTableModel JavaDoc)jTable1.getModel()).removeRow(indexes[i]);
513         }
514         jTable1.updateUI();
515         
516     }//GEN-LAST:event_jButtonDeleteActionPerformed
517

518     private void jButtonModifyActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonModifyActionPerformed
519

520         int index = jTable1.getSelectedRow();
521         if (index >=0)
522         {
523                 MeterInterval c = (MeterInterval)jTable1.getValueAt(jTable1.getSelectedRow(), 0);
524                 MeterIntervalDialog cc = new MeterIntervalDialog(this, true);
525                 cc.setMeterInterval( c );
526                 
527                 cc.setVisible(true);
528                 
529                 if (cc.getDialogResult() == JOptionPane.OK_OPTION)
530                 {
531                     setRowValues(c, index);
532                 }
533         }
534         
535     }//GEN-LAST:event_jButtonModifyActionPerformed
536

537     private void jButtonAddActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAddActionPerformed
538

539         MeterIntervalDialog cc = new MeterIntervalDialog(this, true);
540         cc.setVisible(true);
541                 
542         if (cc.getDialogResult() == JOptionPane.OK_OPTION)
543         {
544             addRowValues(cc.getMeterInterval());
545         }
546         
547     }//GEN-LAST:event_jButtonAddActionPerformed
548

549     /**
550      * @param args the command line arguments
551      */

552     public static void main(String JavaDoc args[]) {
553         java.awt.EventQueue.invokeLater(new Runnable JavaDoc() {
554             public void run() {
555                 new SeriesColorsDialog(new javax.swing.JFrame JavaDoc(), true).setVisible(true);
556             }
557         });
558     }
559
560     public int getDialogResult() {
561         return dialogResult;
562     }
563
564     public void setDialogResult(int dialogResult) {
565         this.dialogResult = dialogResult;
566     }
567
568
569     public void setRowValues(MeterInterval mi, int row)
570     {
571         DecimalFormat JavaDoc dnf = new DecimalFormat JavaDoc("0.00");
572         jTable1.setValueAt(mi, row, 0);
573         jTable1.setValueAt(dnf.format(mi.getAlpha()) , row, 1);
574         jTable1.setValueAt(mi.getDataRange().getLowExpression(), row, 2);
575         jTable1.setValueAt(mi.getDataRange().getHighExpression(), row, 3);
576         jTable1.updateUI();
577     }
578     
579     public void addRowValues(MeterInterval mi)
580     {
581         DecimalFormat JavaDoc dnf = new DecimalFormat JavaDoc("0.00");
582         DefaultTableModel JavaDoc dtm = (DefaultTableModel JavaDoc)jTable1.getModel();
583         dtm.addRow(new Object JavaDoc[]{mi, dnf.format(mi.getAlpha()), mi.getDataRange().getLowExpression(), mi.getDataRange().getHighExpression()} );
584         jTable1.updateUI();
585     }
586
587     public java.util.List JavaDoc getMeterIntervals() {
588         return meterIntervals;
589     }
590
591     public void setMeterIntervals(java.util.List JavaDoc meterIntervals) {
592         this.meterIntervals = meterIntervals;
593         
594         DefaultTableModel JavaDoc dtm = (DefaultTableModel JavaDoc)jTable1.getModel();
595         dtm.setRowCount(0);
596         
597         for (int i=0; i<meterIntervals.size(); ++i)
598         {
599             addRowValues( ((MeterInterval)meterIntervals.get(i)).cloneMe() );
600         }
601         
602         jTable1.updateUI();
603     }
604
605     
606     // Variables declaration - do not modify//GEN-BEGIN:variables
607
private javax.swing.JButton JavaDoc jButtonAdd;
608     private javax.swing.JButton JavaDoc jButtonCancel;
609     private javax.swing.JButton JavaDoc jButtonCopyInterval;
610     private javax.swing.JButton JavaDoc jButtonDelete;
611     private javax.swing.JButton JavaDoc jButtonModify;
612     private javax.swing.JButton JavaDoc jButtonMoveDown;
613     private javax.swing.JButton JavaDoc jButtonMoveUp;
614     private javax.swing.JButton JavaDoc jButtonOk;
615     private javax.swing.JButton JavaDoc jButtonPasteInterval;
616     private javax.swing.JButton JavaDoc jButtonUseLast;
617     private javax.swing.JPanel JavaDoc jPanel1;
618     private javax.swing.JPanel JavaDoc jPanel2;
619     private javax.swing.JScrollPane JavaDoc jScrollPane1;
620     private javax.swing.JSeparator JavaDoc jSeparator1;
621     private javax.swing.JTable JavaDoc jTable1;
622     // End of variables declaration//GEN-END:variables
623

624     public void applyI18n(){
625                 // Start autogenerated code ----------------------
626
jButtonAdd.setText(I18n.getString("meterIntervalsDialog.buttonAdd","Add"));
627                 jButtonCancel.setText(I18n.getString("meterIntervalsDialog.buttonCancel","Cancel"));
628                 jButtonCopyInterval.setText(I18n.getString("meterIntervalsDialog.buttonCopyInterval","Copy intervals"));
629                 jButtonDelete.setText(I18n.getString("meterIntervalsDialog.buttonDelete","Delete"));
630                 jButtonModify.setText(I18n.getString("meterIntervalsDialog.buttonModify","Modify"));
631                 jButtonMoveDown.setText(I18n.getString("meterIntervalsDialog.buttonMoveDown","Move down"));
632                 jButtonMoveUp.setText(I18n.getString("meterIntervalsDialog.buttonMoveUp","Move up"));
633                 jButtonOk.setText(I18n.getString("meterIntervalsDialog.buttonOk","OK"));
634                 jButtonPasteInterval.setText(I18n.getString("meterIntervalsDialog.buttonPasteInterval","Paste intervals"));
635                 jButtonUseLast.setText(I18n.getString("meterIntervalsDialog.buttonUseLast","Use last"));
636                 // End autogenerated code ----------------------
637

638                 jTable1.getColumnModel().getColumn(0).setHeaderValue( I18n.getString("meterIntervalsDialog.tablecolumn.label","Label") );
639                 jTable1.getColumnModel().getColumn(1).setHeaderValue( I18n.getString("meterIntervalsDialog.tablecolumn.alpha","Alpha") );
640                 jTable1.getColumnModel().getColumn(2).setHeaderValue( I18n.getString("meterIntervalsDialog.tablecolumn.lowExp","Low exp") );
641                 jTable1.getColumnModel().getColumn(3).setHeaderValue( I18n.getString("meterIntervalsDialog.tablecolumn.highExp","High exp") );
642
643     }
644 }
645
Popular Tags