JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing.text
クラス NumberFormatter

java.lang.Object
  |
  +--javax.swing.JFormattedTextField.AbstractFormatter
        |
        +--javax.swing.text.DefaultFormatter
              |
              +--javax.swing.text.InternationalFormatter
                    |
                    +--javax.swing.text.NumberFormatter
すべての実装インタフェース:
Cloneable, Serializable

public class NumberFormatter
extends InternationalFormatter

NumberFormatter は、数に関する特殊な動作を追加する InternationalFormatter をサブクラス化します。特殊化には以下が含まれます (これらは、setAllowsInvalid(false) のように、NumberFormatter が無効な数を表示しない場合にだけ使用される)。

科学的数値表記を使用している場合は、上書きモード setOverwriteMode(true) をオンにします。次に例を示します。

 DecimalFormat decimalFormat = new DecimalFormat("0.000E0");
 NumberFormatter textFormatter = new NumberFormatter(decimalFormat);
 textFormatter.setOverwriteMode(true);
 textFormatter.setAllowsInvalid(false);
 

ユーザに 10 進数値の入力を許可する場合、DecimalFormat に少なくとも 1 つの 10 進数 (#.0###) を持たせるか、無効な setAllowsInvalid(true) になる値を許可する必要があります。そうでない場合、ユーザは 10 進数値を入力できません。

NumberFormatter では、スーパークラスとはわずかに異なる動作を stringToValue に提供します。Class に、IntegerLongstringToValue FloatDoubleByteShort のうちどれかの値を指定していて、Format の parseObjectNumber のインスタンスを返す場合、値クラスの対応するインスタンスは、値クラスが表すプリミティブ型に適したコンストラクタを使用して作成されます。たとえば、setValueClass(Integer.class) は、結果として new Integer(((Number)formatter.parseObject(string)).intValue()) で作成される値となります。典型的な例として、さまざまな Number の実装が一般的に互い同士を比較できないときに、最大値や最小値を設定するのに役立ちます。また、何かしらの理由で値に特別な Number の実装が必要なときにも役立ちます。

警告: このクラスの直列化されたオブジェクトは、今後の Swing のリリースとは互換性を持ちません。現在の直列化サポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 では、すべての JavaBeansTM の長期運用サポートが、 java.beans パッケージに追加されました。XMLEncoder を参照してください。

導入されたバージョン:
1.4

コンストラクタの概要
NumberFormatter()
          NumberFormat.getNumberInstance() から取得したデフォルトの NumberFormat インスタンスを使用して NumberFormatter を作成します。
NumberFormatter(NumberFormat format)
          指定した Format インスタンスを使用して、NumberFormatter を作成します。
 
メソッドの概要
 void setFormat(Format format)
          編集および表示が可能な正当な値を規定する書式を設定します。
 
クラス javax.swing.text.InternationalFormatter から継承したメソッド
clone, getActions, getFields, getFormat, getMaximum, getMinimum, install, setMaximum, setMinimum, stringToValue, valueToString
 
クラス javax.swing.text.DefaultFormatter から継承したメソッド
getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass
 
クラス javax.swing.JFormattedTextField.AbstractFormatter から継承したメソッド
getFormattedTextField, invalidEdit, setEditValid, uninstall
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

NumberFormatter

public NumberFormatter()
NumberFormat.getNumberInstance() から取得したデフォルトの NumberFormat インスタンスを使用して NumberFormatter を作成します。


NumberFormatter

public NumberFormatter(NumberFormat format)
指定した Format インスタンスを使用して、NumberFormatter を作成します。

パラメータ:
format - 正当な値の規定に使用する書式
メソッドの詳細

setFormat

public void setFormat(Format format)
編集および表示が可能な正当な値を規定する書式を設定します。

null のコンストラクタを使用した場合、このプロパティの値は、NumberFormat.getNumberInstance() メソッドによって現在のロケールに決定されます。

オーバーライド:
クラス InternationalFormatter 内の setFormat
パラメータ:
format - 適正な値の規定に使用する NumberFormat インスタンス

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.