KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > FieldPatternDialog


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  * FieldPatternDialog.java
28  *
29  * Created on 10 luglio 2004, 0.50
30  *
31  */

32
33 package it.businesslogic.ireport.gui;
34 import it.businesslogic.ireport.util.I18n;
35
36 /**
37  *
38  * @author Administrator
39  */

40 public class FieldPatternDialog extends javax.swing.JDialog JavaDoc {
41     
42     private String JavaDoc pattern = "";
43     private int dialogResult = javax.swing.JOptionPane.CANCEL_OPTION;
44     private int selectedCategory = -1;
45     private static String JavaDoc[] dateFormats = new String JavaDoc[]{
46         "dd/MM/yyyy",
47         "MM/dd/yyyy",
48         "yyyy/MM/dd",
49         "EEEEE dd MMMMM yyyy",
50         "MMMMM dd, yyyy",
51         "dd/MM",
52         "dd/MM/yy",
53         "dd-MMM",
54         "dd-MMM-yy",
55         "MMM-yy",
56         "MMMMM-yy",
57         "dd MMMMM yyyy",
58         "dd/MM/yyyy h.mm a",
59         "dd/MM/yyyy HH.mm.ss",
60         "MMM",
61         "d/M/yyyy",
62         "dd-MMM-yyyy",
63         "yyyy.MM.dd G 'at' HH:mm:ss z",
64         "EEE, MMM d, ''yy",
65         "yyyy.MMMMM.dd GGG hh:mm aaa",
66         "EEE, d MMM yyyy HH:mm:ss Z",
67         "yyMMddHHmmssZ"
68     };
69     
70     private static String JavaDoc[] timeFormats = new String JavaDoc[]{
71         "HH.mm",
72         "h.mm a",
73         "HH.mm.ss",
74         "h.mm.ss a",
75         "mm.ss,S",
76         "hh 'o''clock' a, zzzz",
77         "K:mm a, z",
78         "yyyy.MMMMM.dd GGG hh:mm aaa",
79         "yyyy.MM.dd G 'at' HH:mm:ss z",
80         "EEE, d MMM yyyy HH:mm:ss Z",
81         "yyMMddHHmmssZ"
82     };
83     
84     /** Creates new form FieldPatternDialog */
85     public FieldPatternDialog(java.awt.Frame JavaDoc parent, boolean modal) {
86         super(parent, modal);
87         initAll();
88     }
89     
90     public FieldPatternDialog(java.awt.Dialog JavaDoc parent, boolean modal) {
91         super(parent, modal);
92         initAll();
93     }
94     
95     public void initAll()
96     {
97         initComponents();
98         applyI18n();
99         this.setSize(520, 350);
100         it.businesslogic.ireport.util.Misc.centerFrame(this);
101         
102         javax.swing.DefaultListModel JavaDoc dlm = new javax.swing.DefaultListModel JavaDoc();
103         javax.swing.DefaultListModel JavaDoc dlm2 = new javax.swing.DefaultListModel JavaDoc();
104         javax.swing.DefaultListModel JavaDoc dlm3 = new javax.swing.DefaultListModel JavaDoc();
105         javax.swing.DefaultListModel JavaDoc dlm4 = new javax.swing.DefaultListModel JavaDoc();
106         
107         jListCategory.setModel( dlm );
108         dlm.addElement( "Number" ); // 0
109
dlm.addElement( "Date" ); // 1
110
dlm.addElement( "Time" ); // 2
111
dlm.addElement( "Currency" ); // 3
112
dlm.addElement( "Percentage" ); // 4
113
dlm.addElement( "Scientific" ); // 5
114
//dlm.addElement( "Custom" ); // 7
115

116         jListNegatives.setModel( dlm2 );
117         jListDateTypes.setModel( dlm3 );
118         jListTimeTypes.setModel( dlm4 );
119
120         javax.swing.SpinnerNumberModel JavaDoc sm = new javax.swing.SpinnerNumberModel JavaDoc(2,0,100,1);
121         jSpinnerNumberDecimals.setModel( sm );
122         jSpinnerNumberDecimals1.setModel( sm );
123         jSpinnerNumberDecimals2.setModel( sm );
124         jSpinnerNumberDecimals3.setModel( sm );
125         
126         jPanelSheets.removeAll();
127         ((javax.swing.DefaultComboBoxModel JavaDoc)jComboBoxPercentage.getModel()).addElement("%");
128         ((javax.swing.DefaultComboBoxModel JavaDoc)jComboBoxPercentage.getModel()).addElement("\u2030");
129         
130         jPanelSheets.updateUI();
131         this.jListCategory.setSelectedIndex(0);
132         updateListNegatives();
133         updateListDateTypes();
134         updateListTimeTypes();
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                 jButton2ActionPerformed(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.jButton1);
150         
151     }
152     
153     public void setOnlyDate(boolean b)
154     {
155         if (b == true)
156         {
157             javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jListCategory.getModel();
158             dlm.removeAllElements();
159             dlm.addElement( "Date" );
160             selectedCategory = -1;
161             jListCategory.setSelectedIndex(0);
162             //jListCategoryValueChanged(null);
163
}
164     }
165     
166     /** This method is called from within the constructor to
167      * initialize the form.
168      * WARNING: Do NOT modify this code. The content of this method is
169      * always regenerated by the Form Editor.
170      */

171     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
172
private void initComponents() {
173         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
174
175         jPanel1 = new javax.swing.JPanel JavaDoc();
176         jLabel1 = new javax.swing.JLabel JavaDoc();
177         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
178         jListCategory = new javax.swing.JList JavaDoc();
179         jPanel2 = new javax.swing.JPanel JavaDoc();
180         jPanelSheets = new javax.swing.JPanel JavaDoc();
181         jPanelNumber = new javax.swing.JPanel JavaDoc();
182         jLabel2 = new javax.swing.JLabel JavaDoc();
183         jSpinnerNumberDecimals = new javax.swing.JSpinner JavaDoc();
184         jLabel3 = new javax.swing.JLabel JavaDoc();
185         jCheckBox1 = new javax.swing.JCheckBox JavaDoc();
186         jLabel4 = new javax.swing.JLabel JavaDoc();
187         jPanel7 = new javax.swing.JPanel JavaDoc();
188         jScrollPane2 = new javax.swing.JScrollPane JavaDoc();
189         jListNegatives = new javax.swing.JList JavaDoc();
190         jPanelDate = new javax.swing.JPanel JavaDoc();
191         jLabel7 = new javax.swing.JLabel JavaDoc();
192         jScrollPane3 = new javax.swing.JScrollPane JavaDoc();
193         jListDateTypes = new javax.swing.JList JavaDoc();
194         jPanelTime = new javax.swing.JPanel JavaDoc();
195         jLabel8 = new javax.swing.JLabel JavaDoc();
196         jScrollPane4 = new javax.swing.JScrollPane JavaDoc();
197         jListTimeTypes = new javax.swing.JList JavaDoc();
198         jPanelCurrency = new javax.swing.JPanel JavaDoc();
199         jLabel5 = new javax.swing.JLabel JavaDoc();
200         jSpinnerNumberDecimals1 = new javax.swing.JSpinner JavaDoc();
201         jPanel9 = new javax.swing.JPanel JavaDoc();
202         jPanelPercentage = new javax.swing.JPanel JavaDoc();
203         jLabel6 = new javax.swing.JLabel JavaDoc();
204         jSpinnerNumberDecimals2 = new javax.swing.JSpinner JavaDoc();
205         jLabel9 = new javax.swing.JLabel JavaDoc();
206         jPanel3 = new javax.swing.JPanel JavaDoc();
207         jComboBoxPercentage = new javax.swing.JComboBox JavaDoc();
208         jPanelScientific = new javax.swing.JPanel JavaDoc();
209         jLabel10 = new javax.swing.JLabel JavaDoc();
210         jSpinnerNumberDecimals3 = new javax.swing.JSpinner JavaDoc();
211         jPanel10 = new javax.swing.JPanel JavaDoc();
212         jPanel4 = new javax.swing.JPanel JavaDoc();
213         jLabelSample = new javax.swing.JLabel JavaDoc();
214         jPanel8 = new javax.swing.JPanel JavaDoc();
215         jLabelPattern = new javax.swing.JLabel JavaDoc();
216         jSeparator1 = new javax.swing.JSeparator JavaDoc();
217         jPanel5 = new javax.swing.JPanel JavaDoc();
218         jPanel6 = new javax.swing.JPanel JavaDoc();
219         jButton1 = new javax.swing.JButton JavaDoc();
220         jButton2 = new javax.swing.JButton JavaDoc();
221
222         getContentPane().setLayout(new java.awt.GridBagLayout JavaDoc());
223
224         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
225         setTitle("Pattern editor");
226         addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
227             public void windowClosed(java.awt.event.WindowEvent JavaDoc evt) {
228                 formWindowClosed(evt);
229             }
230         });
231
232         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
233
234         jPanel1.setPreferredSize(new java.awt.Dimension JavaDoc(150, 50));
235         jPanel1.setMinimumSize(new java.awt.Dimension JavaDoc(100, 50));
236         jLabel1.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
237         jLabel1.setText("Category");
238         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
239         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
240         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
241         gridBagConstraints.weightx = 1.0;
242         jPanel1.add(jLabel1, gridBagConstraints);
243
244         jListCategory.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
245         jListCategory.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
246         jListCategory.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
247             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
248                 jListCategoryValueChanged(evt);
249             }
250         });
251
252         jScrollPane1.setViewportView(jListCategory);
253
254         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
255         gridBagConstraints.gridx = 0;
256         gridBagConstraints.gridy = 1;
257         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
258         gridBagConstraints.weightx = 1.0;
259         gridBagConstraints.weighty = 1.0;
260         jPanel1.add(jScrollPane1, gridBagConstraints);
261
262         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
263         gridBagConstraints.gridx = 0;
264         gridBagConstraints.gridy = 0;
265         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
266         gridBagConstraints.weighty = 1.0;
267         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 4, 4);
268         getContentPane().add(jPanel1, gridBagConstraints);
269
270         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
271
272         jPanelSheets.setLayout(new java.awt.BorderLayout JavaDoc());
273
274         jPanelNumber.setLayout(new java.awt.GridBagLayout JavaDoc());
275
276         jLabel2.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
277         jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
278         jLabel2.setText("Decimal places:");
279         jLabel2.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
280         jLabel2.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
281         jLabel2.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
282         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
283         gridBagConstraints.gridx = 0;
284         gridBagConstraints.gridy = 0;
285         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
286         gridBagConstraints.weightx = 0.1;
287         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
288         jPanelNumber.add(jLabel2, gridBagConstraints);
289
290         jSpinnerNumberDecimals.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
291         jSpinnerNumberDecimals.setMinimumSize(new java.awt.Dimension JavaDoc(27, 22));
292         jSpinnerNumberDecimals.setPreferredSize(new java.awt.Dimension JavaDoc(100, 22));
293         jSpinnerNumberDecimals.addPropertyChangeListener(new java.beans.PropertyChangeListener JavaDoc() {
294             public void propertyChange(java.beans.PropertyChangeEvent JavaDoc evt) {
295                 jSpinnerNumberDecimalsPropertyChange(evt);
296             }
297         });
298         jSpinnerNumberDecimals.addChangeListener(new javax.swing.event.ChangeListener JavaDoc() {
299             public void stateChanged(javax.swing.event.ChangeEvent JavaDoc evt) {
300                 jSpinnerNumberDecimalsStateChanged(evt);
301             }
302         });
303
304         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
305         gridBagConstraints.gridx = 1;
306         gridBagConstraints.gridy = 0;
307         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
308         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
309         gridBagConstraints.weightx = 0.5;
310         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 0);
311         jPanelNumber.add(jSpinnerNumberDecimals, gridBagConstraints);
312
313         jLabel3.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
314         jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
315         jLabel3.setText("Use 1000 separator");
316         jLabel3.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
317         jLabel3.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
318         jLabel3.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
319         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
320         gridBagConstraints.gridx = 0;
321         gridBagConstraints.gridy = 1;
322         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
323         gridBagConstraints.weightx = 0.1;
324         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
325         jPanelNumber.add(jLabel3, gridBagConstraints);
326
327         jCheckBox1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
328             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
329                 jCheckBox1ActionPerformed(evt);
330             }
331         });
332
333         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
334         gridBagConstraints.gridx = 1;
335         gridBagConstraints.gridy = 1;
336         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
337         jPanelNumber.add(jCheckBox1, gridBagConstraints);
338
339         jLabel4.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
340         jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
341         jLabel4.setText("Negative numbers:");
342         jLabel4.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
343         jLabel4.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
344         jLabel4.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
345         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
346         gridBagConstraints.gridx = 0;
347         gridBagConstraints.gridy = 2;
348         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
349         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
350         gridBagConstraints.weightx = 0.1;
351         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
352         jPanelNumber.add(jLabel4, gridBagConstraints);
353
354         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
355         gridBagConstraints.gridx = 0;
356         gridBagConstraints.gridwidth = 2;
357         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
358         gridBagConstraints.weightx = 1.0;
359         gridBagConstraints.weighty = 1.0;
360         jPanelNumber.add(jPanel7, gridBagConstraints);
361
362         jScrollPane2.setPreferredSize(new java.awt.Dimension JavaDoc(100, 120));
363         jScrollPane2.setMinimumSize(new java.awt.Dimension JavaDoc(100, 50));
364         jListNegatives.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
365         jListNegatives.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
366         jListNegatives.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
367             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
368                 jListNegativesValueChanged(evt);
369             }
370         });
371
372         jScrollPane2.setViewportView(jListNegatives);
373
374         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
375         gridBagConstraints.gridx = 1;
376         gridBagConstraints.gridy = 2;
377         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
378         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
379         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 0);
380         jPanelNumber.add(jScrollPane2, gridBagConstraints);
381
382         jPanelSheets.add(jPanelNumber, java.awt.BorderLayout.CENTER);
383
384         jPanelDate.setLayout(new java.awt.GridBagLayout JavaDoc());
385
386         jLabel7.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
387         jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
388         jLabel7.setText("Type:");
389         jLabel7.setPreferredSize(new java.awt.Dimension JavaDoc(100, 22));
390         jLabel7.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
391         jLabel7.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
392         jLabel7.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
393         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
394         gridBagConstraints.gridx = 0;
395         gridBagConstraints.gridy = 0;
396         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
397         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
398         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
399         jPanelDate.add(jLabel7, gridBagConstraints);
400
401         jScrollPane3.setPreferredSize(new java.awt.Dimension JavaDoc(300, 120));
402         jScrollPane3.setMinimumSize(new java.awt.Dimension JavaDoc(200, 50));
403         jListDateTypes.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
404         jListDateTypes.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
405         jListDateTypes.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
406             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
407                 jListDateTypesValueChanged(evt);
408             }
409         });
410
411         jScrollPane3.setViewportView(jListDateTypes);
412
413         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
414         gridBagConstraints.gridx = 0;
415         gridBagConstraints.gridy = 1;
416         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
417         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
418         gridBagConstraints.weightx = 1.0;
419         gridBagConstraints.weighty = 1.0;
420         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 0);
421         jPanelDate.add(jScrollPane3, gridBagConstraints);
422
423         jPanelSheets.add(jPanelDate, java.awt.BorderLayout.CENTER);
424
425         jPanelTime.setLayout(new java.awt.GridBagLayout JavaDoc());
426
427         jLabel8.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
428         jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
429         jLabel8.setText("Type:");
430         jLabel8.setPreferredSize(new java.awt.Dimension JavaDoc(100, 22));
431         jLabel8.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
432         jLabel8.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
433         jLabel8.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
434         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
435         gridBagConstraints.gridx = 0;
436         gridBagConstraints.gridy = 0;
437         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
438         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
439         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
440         jPanelTime.add(jLabel8, gridBagConstraints);
441
442         jScrollPane4.setPreferredSize(new java.awt.Dimension JavaDoc(300, 120));
443         jScrollPane4.setMinimumSize(new java.awt.Dimension JavaDoc(200, 50));
444         jListTimeTypes.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
445         jListTimeTypes.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
446         jListTimeTypes.addListSelectionListener(new javax.swing.event.ListSelectionListener JavaDoc() {
447             public void valueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {
448                 jListTimeTypesValueChanged(evt);
449             }
450         });
451
452         jScrollPane4.setViewportView(jListTimeTypes);
453
454         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
455         gridBagConstraints.gridx = 0;
456         gridBagConstraints.gridy = 1;
457         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
458         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
459         gridBagConstraints.weightx = 1.0;
460         gridBagConstraints.weighty = 1.0;
461         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 4, 0);
462         jPanelTime.add(jScrollPane4, gridBagConstraints);
463
464         jPanelSheets.add(jPanelTime, java.awt.BorderLayout.CENTER);
465
466         jPanelCurrency.setLayout(new java.awt.GridBagLayout JavaDoc());
467
468         jLabel5.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
469         jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
470         jLabel5.setText("Decimal places:");
471         jLabel5.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
472         jLabel5.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
473         jLabel5.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
474         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
475         gridBagConstraints.gridx = 0;
476         gridBagConstraints.gridy = 0;
477         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
478         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
479         jPanelCurrency.add(jLabel5, gridBagConstraints);
480
481         jSpinnerNumberDecimals1.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
482         jSpinnerNumberDecimals1.setPreferredSize(new java.awt.Dimension JavaDoc(100, 22));
483         jSpinnerNumberDecimals1.setMinimumSize(new java.awt.Dimension JavaDoc(27, 22));
484         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
485         gridBagConstraints.gridx = 1;
486         gridBagConstraints.gridy = 0;
487         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
488         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
489         gridBagConstraints.weightx = 0.5;
490         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 0);
491         jPanelCurrency.add(jSpinnerNumberDecimals1, gridBagConstraints);
492
493         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
494         gridBagConstraints.gridx = 0;
495         gridBagConstraints.gridwidth = 2;
496         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
497         gridBagConstraints.weightx = 1.0;
498         gridBagConstraints.weighty = 1.0;
499         jPanelCurrency.add(jPanel9, gridBagConstraints);
500
501         jPanelSheets.add(jPanelCurrency, java.awt.BorderLayout.CENTER);
502
503         jPanelPercentage.setLayout(new java.awt.GridBagLayout JavaDoc());
504
505         jLabel6.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
506         jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
507         jLabel6.setText("Decimal places:");
508         jLabel6.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
509         jLabel6.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
510         jLabel6.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
511         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
512         gridBagConstraints.gridx = 0;
513         gridBagConstraints.gridy = 0;
514         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
515         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
516         jPanelPercentage.add(jLabel6, gridBagConstraints);
517
518         jSpinnerNumberDecimals2.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
519         jSpinnerNumberDecimals2.setPreferredSize(new java.awt.Dimension JavaDoc(100, 22));
520         jSpinnerNumberDecimals2.setMinimumSize(new java.awt.Dimension JavaDoc(27, 22));
521         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
522         gridBagConstraints.gridx = 1;
523         gridBagConstraints.gridy = 0;
524         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
525         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
526         gridBagConstraints.weightx = 0.5;
527         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 0);
528         jPanelPercentage.add(jSpinnerNumberDecimals2, gridBagConstraints);
529
530         jLabel9.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
531         jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
532         jLabel9.setText("Type:");
533         jLabel9.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
534         jLabel9.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
535         jLabel9.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
536         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
537         gridBagConstraints.gridx = 0;
538         gridBagConstraints.gridy = 1;
539         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
540         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
541         jPanelPercentage.add(jLabel9, gridBagConstraints);
542
543         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
544         gridBagConstraints.gridx = 0;
545         gridBagConstraints.gridy = 2;
546         gridBagConstraints.gridwidth = 2;
547         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
548         gridBagConstraints.weightx = 1.0;
549         gridBagConstraints.weighty = 1.0;
550         jPanelPercentage.add(jPanel3, gridBagConstraints);
551
552         jComboBoxPercentage.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 12));
553         jComboBoxPercentage.setPreferredSize(new java.awt.Dimension JavaDoc(100, 20));
554         jComboBoxPercentage.addActionListener(new java.awt.event.ActionListener JavaDoc() {
555             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
556                 jComboBoxPercentageActionPerformed(evt);
557             }
558         });
559
560         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
561         gridBagConstraints.gridx = 1;
562         gridBagConstraints.gridy = 1;
563         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
564         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 4, 0, 0);
565         jPanelPercentage.add(jComboBoxPercentage, gridBagConstraints);
566
567         jPanelSheets.add(jPanelPercentage, java.awt.BorderLayout.CENTER);
568
569         jPanelScientific.setLayout(new java.awt.GridBagLayout JavaDoc());
570
571         jLabel10.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
572         jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
573         jLabel10.setText("Decimal places:");
574         jLabel10.setPreferredSize(new java.awt.Dimension JavaDoc(130, 22));
575         jLabel10.setMaximumSize(new java.awt.Dimension JavaDoc(75, 50));
576         jLabel10.setMinimumSize(new java.awt.Dimension JavaDoc(75, 22));
577         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
578         gridBagConstraints.gridx = 0;
579         gridBagConstraints.gridy = 0;
580         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
581         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 4);
582         jPanelScientific.add(jLabel10, gridBagConstraints);
583
584         jSpinnerNumberDecimals3.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
585         jSpinnerNumberDecimals3.setPreferredSize(new java.awt.Dimension JavaDoc(100, 22));
586         jSpinnerNumberDecimals3.setMinimumSize(new java.awt.Dimension JavaDoc(27, 22));
587         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
588         gridBagConstraints.gridx = 1;
589         gridBagConstraints.gridy = 0;
590         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
591         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
592         gridBagConstraints.weightx = 0.5;
593         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 0);
594         jPanelScientific.add(jSpinnerNumberDecimals3, gridBagConstraints);
595
596         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
597         gridBagConstraints.gridx = 0;
598         gridBagConstraints.gridwidth = 2;
599         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
600         gridBagConstraints.weightx = 1.0;
601         gridBagConstraints.weighty = 1.0;
602         jPanelScientific.add(jPanel10, gridBagConstraints);
603
604         jPanelSheets.add(jPanelScientific, java.awt.BorderLayout.CENTER);
605
606         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
607         gridBagConstraints.gridx = 0;
608         gridBagConstraints.gridy = 1;
609         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
610         gridBagConstraints.weightx = 1.0;
611         gridBagConstraints.weighty = 1.0;
612         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 0, 0, 0);
613         jPanel2.add(jPanelSheets, gridBagConstraints);
614
615         jPanel4.setLayout(new java.awt.GridBagLayout JavaDoc());
616
617         jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Sample"));
618         jLabelSample.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 12));
619         jLabelSample.setPreferredSize(new java.awt.Dimension JavaDoc(34, 20));
620         jLabelSample.setMaximumSize(new java.awt.Dimension JavaDoc(34, 50));
621         jLabelSample.setMinimumSize(new java.awt.Dimension JavaDoc(34, 20));
622         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
623         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
624         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
625         gridBagConstraints.weightx = 1.0;
626         gridBagConstraints.weighty = 1.0;
627         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
628         jPanel4.add(jLabelSample, gridBagConstraints);
629
630         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
631         gridBagConstraints.gridx = 0;
632         gridBagConstraints.gridy = 0;
633         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
634         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
635         gridBagConstraints.weightx = 1.0;
636         jPanel2.add(jPanel4, gridBagConstraints);
637
638         jPanel8.setLayout(new java.awt.GridBagLayout JavaDoc());
639
640         jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder("Pattern"));
641         jLabelPattern.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 12));
642         jLabelPattern.setPreferredSize(new java.awt.Dimension JavaDoc(34, 20));
643         jLabelPattern.setMaximumSize(new java.awt.Dimension JavaDoc(34, 50));
644         jLabelPattern.setMinimumSize(new java.awt.Dimension JavaDoc(34, 20));
645         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
646         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
647         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
648         gridBagConstraints.weightx = 1.0;
649         gridBagConstraints.weighty = 1.0;
650         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
651         jPanel8.add(jLabelPattern, gridBagConstraints);
652
653         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
654         gridBagConstraints.gridx = 0;
655         gridBagConstraints.gridy = 2;
656         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
657         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
658         gridBagConstraints.weightx = 1.0;
659         jPanel2.add(jPanel8, gridBagConstraints);
660
661         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
662         gridBagConstraints.gridx = 0;
663         gridBagConstraints.gridy = 3;
664         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
665         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 0, 0);
666         jPanel2.add(jSeparator1, gridBagConstraints);
667
668         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
669         gridBagConstraints.gridx = 1;
670         gridBagConstraints.gridy = 0;
671         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
672         gridBagConstraints.weightx = 1.0;
673         gridBagConstraints.weighty = 1.0;
674         gridBagConstraints.insets = new java.awt.Insets JavaDoc(4, 0, 4, 4);
675         getContentPane().add(jPanel2, gridBagConstraints);
676
677         jPanel5.setLayout(new java.awt.GridBagLayout JavaDoc());
678
679         jPanel5.setPreferredSize(new java.awt.Dimension JavaDoc(10, 30));
680         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
681         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
682         gridBagConstraints.weightx = 1.0;
683         gridBagConstraints.weighty = 1.0;
684         jPanel5.add(jPanel6, gridBagConstraints);
685
686         jButton1.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
687         jButton1.setText("Apply");
688         jButton1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
689             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
690                 jButton1ActionPerformed(evt);
691             }
692         });
693
694         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
695         gridBagConstraints.gridx = 1;
696         gridBagConstraints.gridy = 0;
697         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
698         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
699         jPanel5.add(jButton1, gridBagConstraints);
700
701         jButton2.setFont(new java.awt.Font JavaDoc("SansSerif", 0, 11));
702         jButton2.setText("Cancel");
703         jButton2.addActionListener(new java.awt.event.ActionListener JavaDoc() {
704             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
705                 jButton2ActionPerformed(evt);
706             }
707         });
708
709         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
710         gridBagConstraints.gridx = 2;
711         gridBagConstraints.gridy = 0;
712         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 4, 0, 4);
713         jPanel5.add(jButton2, gridBagConstraints);
714
715         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
716         gridBagConstraints.gridx = 0;
717         gridBagConstraints.gridy = 1;
718         gridBagConstraints.gridwidth = 2;
719         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
720         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
721         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 4, 0);
722         getContentPane().add(jPanel5, gridBagConstraints);
723
724         pack();
725     }// </editor-fold>//GEN-END:initComponents
726

727     private void formWindowClosed(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_formWindowClosed
728
// TODO add your handling code here:
729
}//GEN-LAST:event_formWindowClosed
730

731     private void jButton1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton1ActionPerformed
732
this.setPattern( jLabelPattern.getText() );
733         setDialogResult( javax.swing.JOptionPane.OK_OPTION);
734         this.setVisible(false);
735         this.dispose();
736     }//GEN-LAST:event_jButton1ActionPerformed
737

738     private void jButton2ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton2ActionPerformed
739

740         setDialogResult( javax.swing.JOptionPane.CANCEL_OPTION);
741         this.setVisible(false);
742         this.dispose();
743     }//GEN-LAST:event_jButton2ActionPerformed
744

745     private void jComboBoxPercentageActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxPercentageActionPerformed
746
updateSample();
747     }//GEN-LAST:event_jComboBoxPercentageActionPerformed
748

749     private void jListTimeTypesValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {//GEN-FIRST:event_jListTimeTypesValueChanged
750
updateSample();
751     }//GEN-LAST:event_jListTimeTypesValueChanged
752

753     private void jListDateTypesValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {//GEN-FIRST:event_jListDateTypesValueChanged
754
updateSample();
755     }//GEN-LAST:event_jListDateTypesValueChanged
756

757     private void jListNegativesValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {//GEN-FIRST:event_jListNegativesValueChanged
758

759         updateSample();
760         
761     }//GEN-LAST:event_jListNegativesValueChanged
762

763     private void jSpinnerNumberDecimalsStateChanged(javax.swing.event.ChangeEvent JavaDoc evt) {//GEN-FIRST:event_jSpinnerNumberDecimalsStateChanged
764
updateSample();
765         updateListNegatives();
766     }//GEN-LAST:event_jSpinnerNumberDecimalsStateChanged
767

768     private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBox1ActionPerformed
769
updateSample();
770         updateListNegatives();
771     }//GEN-LAST:event_jCheckBox1ActionPerformed
772

773     private void jListCategoryValueChanged(javax.swing.event.ListSelectionEvent JavaDoc evt) {//GEN-FIRST:event_jListCategoryValueChanged
774

775         int i = getSelectedCategory();
776         
777         if (i != selectedCategory)
778         {
779             selectedCategory = i;
780             jPanelSheets.removeAll();
781             if (i == 0)
782             {
783                 jPanelSheets.add(jPanelNumber);
784                 updateSample();
785             }
786             else if (i == 1)
787             {
788                 jPanelSheets.add(jPanelDate);
789                 updateSample();
790             }
791             else if (i == 2)
792             {
793                 jPanelSheets.add(jPanelTime);
794                 updateSample();
795             }
796             else if (i == 3)
797             {
798                 jPanelSheets.add(jPanelCurrency);
799                 updateSample();
800             }
801             else if (i == 4)
802             {
803                 jPanelSheets.add(jPanelPercentage);
804                 updateSample();
805             }
806             else if (i == 5)
807             {
808                 jPanelSheets.add(jPanelScientific);
809                 updateSample();
810             }
811             else
812             {
813                 updateSample();
814             }
815             jPanelSheets.updateUI();
816         }
817         
818     }//GEN-LAST:event_jListCategoryValueChanged
819

820     private void jSpinnerNumberDecimalsPropertyChange(java.beans.PropertyChangeEvent JavaDoc evt) {//GEN-FIRST:event_jSpinnerNumberDecimalsPropertyChange
821

822         
823         
824     }//GEN-LAST:event_jSpinnerNumberDecimalsPropertyChange
825

826     /**
827      * @param args the command line arguments
828      */

829     public static void main(String JavaDoc args[]) {
830         new FieldPatternDialog(new javax.swing.JFrame JavaDoc(), true).setVisible(true);
831     }
832     
833     // Variables declaration - do not modify//GEN-BEGIN:variables
834
private javax.swing.JButton JavaDoc jButton1;
835     private javax.swing.JButton JavaDoc jButton2;
836     private javax.swing.JCheckBox JavaDoc jCheckBox1;
837     private javax.swing.JComboBox JavaDoc jComboBoxPercentage;
838     private javax.swing.JLabel JavaDoc jLabel1;
839     private javax.swing.JLabel JavaDoc jLabel10;
840     private javax.swing.JLabel JavaDoc jLabel2;
841     private javax.swing.JLabel JavaDoc jLabel3;
842     private javax.swing.JLabel JavaDoc jLabel4;
843     private javax.swing.JLabel JavaDoc jLabel5;
844     private javax.swing.JLabel JavaDoc jLabel6;
845     private javax.swing.JLabel JavaDoc jLabel7;
846     private javax.swing.JLabel JavaDoc jLabel8;
847     private javax.swing.JLabel JavaDoc jLabel9;
848     private javax.swing.JLabel JavaDoc jLabelPattern;
849     private javax.swing.JLabel JavaDoc jLabelSample;
850     private javax.swing.JList JavaDoc jListCategory;
851     private javax.swing.JList JavaDoc jListDateTypes;
852     private javax.swing.JList JavaDoc jListNegatives;
853     private javax.swing.JList JavaDoc jListTimeTypes;
854     private javax.swing.JPanel JavaDoc jPanel1;
855     private javax.swing.JPanel JavaDoc jPanel10;
856     private javax.swing.JPanel JavaDoc jPanel2;
857     private javax.swing.JPanel JavaDoc jPanel3;
858     private javax.swing.JPanel JavaDoc jPanel4;
859     private javax.swing.JPanel JavaDoc jPanel5;
860     private javax.swing.JPanel JavaDoc jPanel6;
861     private javax.swing.JPanel JavaDoc jPanel7;
862     private javax.swing.JPanel JavaDoc jPanel8;
863     private javax.swing.JPanel JavaDoc jPanel9;
864     private javax.swing.JPanel JavaDoc jPanelCurrency;
865     private javax.swing.JPanel JavaDoc jPanelDate;
866     private javax.swing.JPanel JavaDoc jPanelNumber;
867     private javax.swing.JPanel JavaDoc jPanelPercentage;
868     private javax.swing.JPanel JavaDoc jPanelScientific;
869     private javax.swing.JPanel JavaDoc jPanelSheets;
870     private javax.swing.JPanel JavaDoc jPanelTime;
871     private javax.swing.JScrollPane JavaDoc jScrollPane1;
872     private javax.swing.JScrollPane JavaDoc jScrollPane2;
873     private javax.swing.JScrollPane JavaDoc jScrollPane3;
874     private javax.swing.JScrollPane JavaDoc jScrollPane4;
875     private javax.swing.JSeparator JavaDoc jSeparator1;
876     private javax.swing.JSpinner JavaDoc jSpinnerNumberDecimals;
877     private javax.swing.JSpinner JavaDoc jSpinnerNumberDecimals1;
878     private javax.swing.JSpinner JavaDoc jSpinnerNumberDecimals2;
879     private javax.swing.JSpinner JavaDoc jSpinnerNumberDecimals3;
880     // End of variables declaration//GEN-END:variables
881

882     
883     private void updateSample()
884     {
885         String JavaDoc format = createPattern();
886         
887         int i = getSelectedCategory();
888         if (i == 0)
889         {
890             java.text.DecimalFormat JavaDoc nf = new java.text.DecimalFormat JavaDoc(format);
891             jLabelSample.setText( nf.format(1234.43210));
892         }
893         else if (i == 1)
894         {
895              if (jListDateTypes.getSelectedIndex() >= 0)
896              {
897                 jLabelSample.setText( ""+jListDateTypes.getSelectedValue() );
898              }
899              else jLabelSample.setText("");
900         }
901         else if (i == 2)
902         {
903              if (jListTimeTypes.getSelectedIndex() >= 0)
904              {
905                 jLabelSample.setText( ""+jListTimeTypes.getSelectedValue() );
906              }
907              else jLabelSample.setText("");
908         }
909         else if (i == 3)
910         {
911             java.text.DecimalFormat JavaDoc nf = new java.text.DecimalFormat JavaDoc(format);
912             jLabelSample.setText( nf.format(1234.43210));
913             
914         }
915         else if (i == 4)
916         {
917             java.text.DecimalFormat JavaDoc nf = new java.text.DecimalFormat JavaDoc(format);
918             jLabelSample.setText( nf.format(1234.43210));
919             
920         }
921         else if (i == 5)
922         {
923             java.text.DecimalFormat JavaDoc nf = new java.text.DecimalFormat JavaDoc(format);
924             jLabelSample.setText( nf.format(1234.43210));
925             
926         }
927         else
928         {
929             jLabelSample.setText("");
930         }
931     }
932     
933     private String JavaDoc createPattern()
934     {
935         String JavaDoc format = "";
936         int cat = getSelectedCategory();
937         // NUMBER FORMATS
938
if (cat == 0)
939         {
940             //format = "###0";
941
if (jCheckBox1.isSelected())
942             {
943                 format = "#,##0";
944             }
945             else
946             {
947                 format = "###0";
948             }
949             int decimals = ((javax.swing.SpinnerNumberModel JavaDoc)jSpinnerNumberDecimals.getModel()).getNumber().intValue();
950             if (decimals > 0)
951             {
952                 format += ".";
953                 for (int i=0; i<decimals; ++i)
954                 {
955                     format += "0";
956                 }
957             }
958             if (jListNegatives.getSelectedIndex() >= 0)
959             {
960                 int selectedIndex = jListNegatives.getSelectedIndex();
961                 if (selectedIndex == 0) format += ";-"+ format + "";
962                 if (selectedIndex == 1) format += ";" + format + "-";
963                 if (selectedIndex == 2) format += ";(" + format + ")";
964                 if (selectedIndex == 3) format += ";(-" + format + ")";
965                 if (selectedIndex == 4) format += ";(" + format + "-)";
966             }
967         }
968         else if (cat == 1)
969         {
970             if (jListDateTypes.getSelectedIndex() >= 0)
971             {
972                 format = dateFormats[jListDateTypes.getSelectedIndex()];
973             }
974         }
975         else if (cat == 2)
976         {
977             if (jListTimeTypes.getSelectedIndex() >= 0)
978             {
979                 format = timeFormats[jListTimeTypes.getSelectedIndex()];
980             }
981         }
982         else if (cat == 3)
983         {
984             format = "\u00A4 #,##0";
985             int decimals = ((javax.swing.SpinnerNumberModel JavaDoc)jSpinnerNumberDecimals1.getModel()).getNumber().intValue();
986             if (decimals > 0)
987             {
988                 format += ".";
989                 for (int i=0; i<decimals; ++i)
990                 {
991                     format += "0";
992                 }
993             }
994         }
995         else if (cat == 4)
996         {
997             format = "#,##0";
998             int decimals = ((javax.swing.SpinnerNumberModel JavaDoc)jSpinnerNumberDecimals2.getModel()).getNumber().intValue();
999             if (decimals > 0)
1000            {
1001                format += ".";
1002                for (int i=0; i<decimals; ++i)
1003                {
1004                    format += "0";
1005                }
1006            }
1007            format += " " + jComboBoxPercentage.getSelectedItem();
1008        }
1009        else if (cat == 5)
1010        {
1011            format = "0";
1012            int decimals = ((javax.swing.SpinnerNumberModel JavaDoc)jSpinnerNumberDecimals3.getModel()).getNumber().intValue();
1013            if (decimals > 0)
1014            {
1015                format += ".0";
1016                for (int i=1; i<decimals; ++i)
1017                {
1018                    format += "#";
1019                }
1020            }
1021            format += "E0";
1022        }
1023        
1024        jLabelPattern.setText( format );
1025        return format;
1026    }
1027    
1028    private void updateListNegatives()
1029    {
1030        String JavaDoc format = createPattern();
1031        javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jListNegatives.getModel();
1032        int selected = jListNegatives.getSelectedIndex();
1033        dlm.removeAllElements();
1034        if (format.indexOf(";") >= 0)
1035        {
1036            format = format.substring(0,format.indexOf(";"));
1037        }
1038        String JavaDoc[] formats = new String JavaDoc[5];
1039        
1040        formats[0] = format + ";-"+ format + "";
1041        formats[1] = format + ";" + format + "-";
1042        formats[2] = format + ";(" + format + ")";
1043        formats[3] = format + ";(-" + format + ")";
1044        formats[4] = format + ";(" + format + "-)";
1045    
1046        for (int i=0; i<formats.length; ++i)
1047        {
1048            java.text.DecimalFormat JavaDoc nf = new java.text.DecimalFormat JavaDoc(formats[i]);
1049            dlm.addElement( nf.format(-1234.43210) );
1050        }
1051        if (selected>=0)
1052        {
1053            jListNegatives.setSelectedIndex(selected);
1054        }
1055        
1056    }
1057    
1058    private void updateListDateTypes()
1059    {
1060        javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jListDateTypes.getModel();
1061        
1062        for (int i=0; i<dateFormats.length; ++i)
1063        {
1064            java.text.SimpleDateFormat JavaDoc nf = new java.text.SimpleDateFormat JavaDoc(dateFormats[i]);
1065            dlm.addElement( nf.format(new java.util.Date JavaDoc()) );
1066        }
1067        jListDateTypes.setSelectedIndex(0);
1068        
1069    }
1070    
1071     private void updateListTimeTypes()
1072    {
1073        javax.swing.DefaultListModel JavaDoc dlm = (javax.swing.DefaultListModel JavaDoc)jListTimeTypes.getModel();
1074        
1075        for (int i=0; i<timeFormats.length; ++i)
1076        {
1077            java.text.SimpleDateFormat JavaDoc nf = new java.text.SimpleDateFormat JavaDoc(timeFormats[i]);
1078            dlm.addElement( nf.format(new java.util.Date JavaDoc()) );
1079        }
1080        jListTimeTypes.setSelectedIndex(0);
1081        
1082    }
1083     
1084     /**
1085      * Getter for property dialogResult.
1086      * @return Value of property dialogResult.
1087      */

1088     public int getDialogResult() {
1089         return dialogResult;
1090     }
1091     
1092     /**
1093      * Setter for property dialogResult.
1094      * @param dialogResult New value of property dialogResult.
1095      */

1096     public void setDialogResult(int dialogResult) {
1097         this.dialogResult = dialogResult;
1098     }
1099
1100     
1101     /**
1102      * Getter for property pattern.
1103      * @return Value of property pattern.
1104      */

1105     public java.lang.String JavaDoc getPattern() {
1106         return pattern;
1107     }
1108     
1109     /**
1110      * Setter for property pattern.
1111      * @param pattern New value of property pattern.
1112      */

1113     public void setPattern(java.lang.String JavaDoc pattern) {
1114         this.pattern = pattern;
1115     }
1116     
1117     public int getSelectedCategory()
1118     {
1119         int i =0;
1120        String JavaDoc category = ""+jListCategory.getSelectedValue();
1121        
1122        if (category.equals("Number" )) i = 0; // 0
1123
if (category.equals("Date" )) i = 1; // 0
1124
if (category.equals("Time" )) i = 2; // 0
1125
if (category.equals("Currency" )) i = 3; // 0
1126
if (category.equals("Percentage" )) i = 4; // 0
1127
if (category.equals("Scientific" )) i = 5; // 0
1128

1129        return i;
1130     }
1131    public void applyI18n(){
1132                // Start autogenerated code ----------------------
1133
// End autogenerated code ----------------------
1134
// Start autogenerated code ----------------------
1135
jButton1.setText(I18n.getString("fieldPatternDialog.button1","Apply"));
1136                jButton2.setText(I18n.getString("fieldPatternDialog.button2","Cancel"));
1137                jLabel1.setText(I18n.getString("fieldPatternDialog.label1","Category"));
1138                jLabel10.setText(I18n.getString("fieldPatternDialog.label10","Decimal places:"));
1139                jLabel2.setText(I18n.getString("fieldPatternDialog.label2","Decimal places:"));
1140                jLabel3.setText(I18n.getString("fieldPatternDialog.label3","Use 1000 separator"));
1141                jLabel4.setText(I18n.getString("fieldPatternDialog.label4","Negative numbers:"));
1142                jLabel5.setText(I18n.getString("fieldPatternDialog.label5","Decimal places:"));
1143                jLabel6.setText(I18n.getString("fieldPatternDialog.label6","Decimal places:"));
1144                jLabel7.setText(I18n.getString("fieldPatternDialog.label7","Type:"));
1145                jLabel8.setText(I18n.getString("fieldPatternDialog.label8","Type:"));
1146                jLabel9.setText(I18n.getString("fieldPatternDialog.label9","Type:"));
1147                // End autogenerated code ----------------------
1148
((javax.swing.border.TitledBorder JavaDoc)jPanel4.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("fieldPatternDialog.panelBorder.Sample","Sample") );
1149                ((javax.swing.border.TitledBorder JavaDoc)jPanel8.getBorder()).setTitle( it.businesslogic.ireport.util.I18n.getString("fieldPatternDialog.panelBorder.Pattern","Pattern") );
1150    }
1151}
1152
Popular Tags