|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.swing.JFormattedTextField.AbstractFormatter
javax.swing.text.DefaultFormatter
javax.swing.text.InternationalFormatter
public class 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 に適しています。JDK バージョン 1.4 以降、すべての JavaBeans™ の長期間の運用サポートは、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 を作成します。
format - String との相互変換に使用される Format インスタンス| メソッドの詳細 |
|---|
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 に設定されます。
max - 入力可能な最大適正値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 に追加リスナーをインストールする場合だけです。
現在の値を文字列に変換するときに ParseException が発生した場合は、テキストとして空の文字列が設定され、JFormattedTextField に不正な状態を示す値が設定されます。
これは public メソッドですが、通常は JFormattedTextField のサブクラスに対してだけ有効です。値が変更されるか、内部状態が変更される場合、JFormattedTextField によりこのメソッドが呼び出されます。
DefaultFormatter 内の installftf - 書式設定用の JformattedTextField。null の場合は、現在の JFormattedTextField からのアンインストールを示す
public String valueToString(Object value)
throws ParseException
value の String 表現を返します。これにより、現在の Format 上で format が呼び出されます。
DefaultFormatter 内の valueToStringvalue - 変換対象の値
ParseException - 変換でエラーが発生した場合
public Object stringToValue(String text)
throws ParseException
String text の Object 表現を返します。
DefaultFormatter 内の stringToValuetext - 変換する String
Object 表現
ParseException - 変換でエラーが発生した場合public Format.Field[] getFields(int offset)
offset でのテキストに関連する Format.Field 定数を返します。offset の位置が現在のテキスト内で不正である場合は、空の配列が返されます。
offset - 検査するテキストへのオフセット
public Object clone()
throws CloneNotSupportedException
DefaultFormatter 内の cloneCloneNotSupportedException - オブジェクトのクラスが Cloneable インタフェースをサポートしていない場合。clone メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがあるCloneableprotected Action[] getActions()
getSupportsIncrement が true を返す場合、値の増減に適した、2 つの Action が返されます。
JFormattedTextField.AbstractFormatter 内の getActions
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。