|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--javax.swing.JFormattedTextField.AbstractFormatter
|
+--javax.swing.text.DefaultFormatter
|
+--javax.swing.text.InternationalFormatter
|
+--javax.swing.text.NumberFormatter
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、stringToValue Float、Double、Byte、Short のうちどれかの値を指定していて、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)
編集および表示が可能な正当な値を規定する書式を設定します。 |
| クラス 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 |
| コンストラクタの詳細 |
public NumberFormatter()
NumberFormat.getNumberInstance() から取得したデフォルトの NumberFormat インスタンスを使用して NumberFormatter を作成します。
public NumberFormatter(NumberFormat format)
format - 正当な値の規定に使用する書式| メソッドの詳細 |
public void setFormat(Format format)
null のコンストラクタを使用した場合、このプロパティの値は、NumberFormat.getNumberInstance() メソッドによって現在のロケールに決定されます。
InternationalFormatter 内の setFormatformat - 適正な値の規定に使用する NumberFormat インスタンス
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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.