01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * 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: * DoubleSheetProperty.java
28: *
29: * Created on 16 febbraio 2005, 19.13
30: *
31: */
32:
33: package it.businesslogic.ireport.gui.sheet;
34:
35: import java.util.*;
36: import javax.swing.*;
37: import it.businesslogic.ireport.util.*;
38: import it.businesslogic.ireport.gui.*;
39:
40: public class DoubleSheetProperty extends SheetProperty {
41:
42: private JNumberField editor = null;
43:
44: public DoubleSheetProperty(String key, String name) {
45: super (key, name, SheetProperty.STRING, "");
46: }
47:
48: public JComponent getEditor() {
49: if (editor != null)
50: return editor;
51: editor = new JNumberField();
52: try {
53: editor.setDecimals(-1);
54: editor.setGrouping(false);
55: editor.setInteger(false);
56: } catch (Exception ex) {
57: }
58: editor.addActionListener(this );
59: editor.setBorder(null);
60: return editor;
61: }
62:
63: public Object getEditorValue(JComponent component) {
64: try {
65: return new Double(editor.getValue());
66: } catch (Exception ex) {
67: return new Double(0);
68: }
69: }
70:
71: public void setEditorValue(JComponent component, Object str) {
72:
73: try {
74: getEditor(); // In this way we are sure that editor is not null.
75:
76: if (str != null && str instanceof Double) {
77: editor.setValue(((Double) str).doubleValue());
78: } else if (str != null && (("" + str).trim().length() > 0)) {
79: editor.setValue(Double.parseDouble("" + str));
80: }
81: } catch (Exception ex) {
82: }
83: }
84: }
|