1 /*
2 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
74 * <code>setValueClass(Integer.class)</code> will cause the resulting
75 * value to be created via
76 * <code>new Integer(((Number)formatter.parseObject(string)).intValue())</code>.
77 * This is typically useful if you
78 * wish to set a min/max value as the various <code>Number</code>
79 * implementations are generally not comparable to each other. This is also
80 * useful if for some reason you need a specific <code>Number</code>
81 * implementation for your values.
82 * <p>
83 * <strong>Warning:</strong>
84 * Serialized objects of this class will not be compatible with
85 * future Swing releases. The current serialization support is
86 * appropriate for short term storage or RMI between applications running
87 * the same version of Swing. As of 1.4, support for long term storage
88 * of all JavaBeans™
89 * has been added to the <code>java.beans</code> package.
90 * Please see {@link java.beans.XMLEncoder}.
91 *
92 * @since 1.4
93 */
94 public class NumberFormatter extends InternationalFormatter {
95 /** The special characters from the Format instance. */
96 private String specialChars;
97
98 /**
99 * Creates a <code>NumberFormatter</code> with the a default
100 * <code>NumberFormat</code> instance obtained from
101 * <code>NumberFormat.getNumberInstance()</code>.
102 */
103 public NumberFormatter() {
104 this(NumberFormat.getNumberInstance());
105 }
106
107 /**
108 * Creates a NumberFormatter with the specified Format instance.
109 *
110 * @param format Format used to dictate legal values
111 */
112 public NumberFormatter(NumberFormat format) {
113 super(format);
|
1 /*
2 * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
74 * <code>setValueClass(Integer.class)</code> will cause the resulting
75 * value to be created via
76 * <code>new Integer(((Number)formatter.parseObject(string)).intValue())</code>.
77 * This is typically useful if you
78 * wish to set a min/max value as the various <code>Number</code>
79 * implementations are generally not comparable to each other. This is also
80 * useful if for some reason you need a specific <code>Number</code>
81 * implementation for your values.
82 * <p>
83 * <strong>Warning:</strong>
84 * Serialized objects of this class will not be compatible with
85 * future Swing releases. The current serialization support is
86 * appropriate for short term storage or RMI between applications running
87 * the same version of Swing. As of 1.4, support for long term storage
88 * of all JavaBeans™
89 * has been added to the <code>java.beans</code> package.
90 * Please see {@link java.beans.XMLEncoder}.
91 *
92 * @since 1.4
93 */
94 @SuppressWarnings("serial") // Same-version serialization only
95 public class NumberFormatter extends InternationalFormatter {
96 /** The special characters from the Format instance. */
97 private String specialChars;
98
99 /**
100 * Creates a <code>NumberFormatter</code> with the a default
101 * <code>NumberFormat</code> instance obtained from
102 * <code>NumberFormat.getNumberInstance()</code>.
103 */
104 public NumberFormatter() {
105 this(NumberFormat.getNumberInstance());
106 }
107
108 /**
109 * Creates a NumberFormatter with the specified Format instance.
110 *
111 * @param format Format used to dictate legal values
112 */
113 public NumberFormatter(NumberFormat format) {
114 super(format);
|