public class NumberFormatter extends InternationalFormatter
NumberFormatter
は、数に関する特殊な動作を追加する InternationalFormatter
をサブクラス化します。特殊化には以下が含まれます (これらは、setAllowsInvalid(false)
のように、NumberFormatter
が無効な数を表示しない場合にだけ使用される)。
DecimalFormat
に関連する DecimalFormatSymbols
から判別される) を押すと、数の符号の正/負への変更が試みられる。
DecimalFormat
に関連する DecimalFormatSymbols
から判別される) を押すと、指数の符号の正/負への変更が試みられる。
科学的数値表記を使用している場合は、上書きモード 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 として、Integer
、Long
、Float
、Double
、Byte
、Short
のいずれかを指定 (DefaultFormatter.setValueClass(java.lang.Class<?>)
) していて、Format の parseObject
が Number
のインスタンスを返す場合、値クラスの対応するインスタンスは、値クラスが表すプリミティブ型に適したコンストラクタを使用して作成されます。たとえば、setValueClass(Integer.class)
は、結果として new Integer(((Number)formatter.parseObject(string)).intValue())
で作成される値となります。典型的な例として、さまざまな Number
の実装が一般的に互い同士を比較できないときに、最大値や最小値を設定するのに役立ちます。また、なんらかの理由で値に特別な Number
の実装が必要なときにも役立ちます。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースとの互換性がなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが java.beans
パッケージに追加されています。XMLEncoder
を参照してください。
コンストラクタと説明 |
---|
NumberFormatter()
NumberFormat.getNumberInstance() から取得したデフォルトの NumberFormat インスタンスで NumberFormatter を作成します。 |
NumberFormatter(NumberFormat format)
指定した Format インスタンスを使用して、NumberFormatter を作成します。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
setFormat(Format format)
編集および表示が可能な正当な値を規定する書式を設定します。
|
clone, getActions, getFields, getFormat, getMaximum, getMinimum, install, setMaximum, setMinimum, stringToValue, valueToString
getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass
getFormattedTextField, invalidEdit, setEditValid, uninstall
public NumberFormatter()
NumberFormat.getNumberInstance()
から取得したデフォルトの NumberFormat
インスタンスで NumberFormatter
を作成します。public NumberFormatter(NumberFormat format)
format
- 正当な値の規定に使用する書式public void setFormat(Format format)
null のコンストラクタを使用した場合、このプロパティーの値は、NumberFormat.getNumberInstance()
メソッドによって現在のロケールに決定されます。
setFormat
、クラス: InternationalFormatter
format
- 適正な値の規定に使用する NumberFormat インスタンス バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.