|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.JFormattedTextField.AbstractFormatter | +--javax.swing.text.DefaultFormatter | +--javax.swing.text.InternationalFormatter
InternationalFormatter
は、String への変換と String からの変換を処理する java.text.Format
のインスタンスを使用して、DefaultFormatter
を拡張します。
getAllowsInvalid()
が false の場合、各編集の現行テキストに書式を付けるよう Format
に求めます。
setMinimum
メソッドと setMaximum
メソッドで最小値と最大値を指定できます。これを有効にするには、stringToValue
から返された値が、Comparable
インタフェースを介して最大値/最小値と比較可能でなければなりません。
特定の値が入力不可になるといった状況を作り出すことがあるため、Format
と InternationalFormatter
の構成方法には注意が必要です。常に有効な InternationalFormatter
(setAllowsInvalid(false)
) である日付形式「M/d/yy」が上書きモード (setOverwriteMode(true)
) であり、日付は 7/1/99 であるとします。この場合、ユーザは 2 桁の月および日付を入力できません。これを回避するには、フォーマットを 「MM/dd/yy」にする必要があります。
InternationalFormatter
が、有効な値 (setAllowsInvalid(false)
) だけを許可するように構成されている場合、有効な各編集は、Format
から完全にリセットされた JFormattedTextField
のテキストになります。またカーソル位置は、リテラル文字が結果の String に対して追加または削除されるように調整されます。
stringToValue
の InternationalFormatter
の動作は、DefaultTextFormatter
の動作とはわずかに違います。この場合は以下を実行します。
parseObject
は、setFormat
で指定された Format
上で呼び出される
setValueClass
)、スーパークラスの実装が呼び出され、parseObject
から返された値を適切なクラスに変換する
ParseException
がスローされておらず、またその値が最大値、最小値の範囲外である場合、ParseException
がスローされる
Format
が返す代替 Class を指定するには、InternationalFormatter
がこの方法で stringToValue
を実装します。
警告:
このクラスの直列化されたオブジェクトは、今後の Swing のリリースとは互換性を持ちません。現在の直列化サポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 では、すべての JavaBeansTM の長期運用サポートが、 java.beans
パッケージに追加されました。XMLEncoder
を参照してください。
Format
,
Comparable
コンストラクタの概要 | |
InternationalFormatter()
Format を指定せずに、InternationalFormatter を作成します。 |
|
InternationalFormatter(Format format)
指定した Format インスタンスを使用して、InternationalFormatter を作成します。 |
メソッドの概要 | |
Object |
clone()
DefaultFormatter のコピーを作成します。 |
protected Action[] |
getActions()
getSupportsIncrement が true を返す場合、値の増減に適した、2 つの Action が返されます。 |
Format.Field[] |
getFields(int offset)
offset でのテキストに関連する Format.Field 定数を返します。 |
Format |
getFormat()
編集、表示が可能な正当な値を規定する書式を返します。 |
Comparable |
getMaximum()
可能な最大値を返します。 |
Comparable |
getMinimum()
可能な最小値を返します。 |
void |
install(JFormattedTextField ftf)
DefaultFormatter を特定の JFormattedTextField にインストールします。 |
void |
setFormat(Format format)
編集および表示が可能な正当な値を規定する書式を設定します。 |
void |
setMaximum(Comparable max)
可能な最大値を設定します。 |
void |
setMinimum(Comparable minimum)
可能な最小値を設定します。 |
Object |
stringToValue(String text)
String text の Object 表現を返します。 |
String |
valueToString(Object value)
Object value の String 表現を返します。 |
クラス 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 InternationalFormatter()
Format
を指定せずに、InternationalFormatter
を作成します。
public InternationalFormatter(Format format)
Format
インスタンスを使用して、InternationalFormatter
を作成します。
メソッドの詳細 |
public void setFormat(Format format)
format
- String との相互変換に使用される Format
インスタンスpublic Format getFormat()
public void setMinimum(Comparable minimum)
valueClass
が未指定で minimum
が null 以外の場合、valueClass
は minimum
クラスの valueClass
に設定されます。
minimum
- 入力可能な最小適正値DefaultFormatter.setValueClass(java.lang.Class)
public Comparable getMinimum()
public void setMaximum(Comparable max)
valueClass
が未指定で、max
が null 以外の場合、valueClass
は max
クラスの valueClass
に設定されます。
DefaultFormatter.setValueClass(java.lang.Class)
public Comparable getMaximum()
public void install(JFormattedTextField ftf)
DefaultFormatter
を特定の JFormattedTextField
にインストールします。これにより valueToString
が呼び出されて、現在の値が JFormattedTextField
から String へ変換されます。次に getActions
からの Action
、getDocumentFilter
から返された DocumentFilter
、getNavigationFilter
から返された NavigationFilter
が、JFormattedTextField
にインストールされます。
サブクラスがリスナーを JFormattedTextField
に追加インストールする場合は、通常、これをオーバーライドするだけです。
現在値を String に変換する際に ParseException
がスローされる場合、テキストは空の String に設定され、JFormattedTextField
は無効な状態としてマークされます。
これは public メソッドですが、通常は JFormattedTextField
のサブクラスに対してだけ有効です。値が変更されるか、内部状態が変更される場合、JFormattedTextField
によりこのメソッドが呼び出されます。
DefaultFormatter
内の install
ftf
- 書式設定用の JFormattedTextField。null も可 (現行の JFormattedTextField のアンインストールを示す)public String valueToString(Object value) throws ParseException
value
の String 表現を返します。これにより、現在の Format
上で format
が呼び出されます。
DefaultFormatter
内の valueToString
value
- 変換する値
ParseException
- 変換にエラーがある場合public Object stringToValue(String text) throws ParseException
String
text
の Object
表現を返します。
DefaultFormatter
内の stringToValue
text
- 変換する String
Object
表現
ParseException
- 変換にエラーがある場合public Format.Field[] getFields(int offset)
offset
でのテキストに関連する Format.Field
定数を返します。offset
の位置が現在のテキスト内で不正である場合は、空の配列が返されます。
offset
- 検査するテキストへのオフセット
public Object clone() throws CloneNotSupportedException
DefaultFormatter
内の clone
CloneNotSupportedException
protected Action[] getActions()
getSupportsIncrement
が true を返す場合、値の増減に適した、2 つの Action が返されます。
JFormattedTextField.AbstractFormatter
内の getActions
|
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.