JavaTM Platform
Standard Ed. 6

javax.swing.text
クラス NumberFormatter

java.lang.Object
  上位を拡張 javax.swing.JFormattedTextField.AbstractFormatter
      上位を拡張 javax.swing.text.DefaultFormatter
          上位を拡張 javax.swing.text.InternationalFormatter
              上位を拡張 javax.swing.text.NumberFormatter
すべての実装されたインタフェース:
Serializable, Cloneable

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 として、IntegerLongFloatDoubleByteShort のいずれかを指定 (DefaultFormatter.setValueClass(java.lang.Class)) していて、Format の parseObjectNumber のインスタンスを返す場合、値クラスの対応するインスタンスは、値クラスが表すプリミティブ型に適したコンストラクタを使用して作成されます。次に例を示します。setValueClass(Integer.class) は、結果として new Integer(((Number)formatter.parseObject(string)).intValue()) で作成される値となります。典型的な例として、さまざまな Number の実装が一般的に互い同士を比較できないときに、最大値や最小値を設定するのに役立ちます。また、なんらかの理由で値に特別な Number の実装が必要なときにも役立ちます。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK Version 1.4 以降、すべての JavaBeans の長期間の運用サポートは、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 Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。