JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.text
クラス DefaultFormatter

java.lang.Object
  上位を拡張 javax.swing.JFormattedTextField.AbstractFormatter
      上位を拡張 javax.swing.text.DefaultFormatter
すべての実装されたインタフェース:
Serializable, Cloneable
直系の既知のサブクラス:
InternationalFormatter, MaskFormatter

public class DefaultFormatter
extends JFormattedTextField.AbstractFormatter
implements Cloneable, Serializable

DefaultFormatter は、任意のオブジェクトの書式設定を行います。書式設定は、toString メソッドを呼び出すことで実行されます。値を再度 String へ変換するためには、使用するクラスで String 引数を取るコンストラクタを提供する必要があります。String を取る単一引数のコンストラクタが 1 つも見つからない場合は、stringToValue へ渡された String が戻り値となります。

DefaultFormatter のインスタンスは、JFormattedTextField の複数インスタンスでは使用できません。構成済みの DefaultFormatter のコピーを取得するには、clone メソッドを使用します。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降、すべての JavaBeans の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。

導入されたバージョン:
1.4
関連項目:
JFormattedTextField.AbstractFormatter

コンストラクタの概要
DefaultFormatter()
          DefaultFormatter を作成します。
 
メソッドの概要
 Object clone()
          DefaultFormatter のコピーを作成します。
 boolean getAllowsInvalid()
          編集中の値を一定時間無効にできるかどうかを返します。
 boolean getCommitsOnValidEdit()
          編集が JFormattedTextField に通知されたときに返されます。
protected  DocumentFilter getDocumentFilter()
          JFormattedTextField に入力可能な文字を限定する DocumentFilter を返します。
protected  NavigationFilter getNavigationFilter()
          カーソルを配置できる場所を限定する NavigationFilter を返します。
 boolean getOverwriteMode()
          文字の挿入時の動作を返します。
 Class<?> getValueClass()
          新規 Object の作成に使用するクラスを返します。
 void install(JFormattedTextField ftf)
          DefaultFormatter を特定の JFormattedTextField にインストールします。
 void setAllowsInvalid(boolean allowsInvalid)
          編集中の値を一定時間無効 (つまり stringToValueParseException をスローする) にできるかどうかを設定します。
 void setCommitsOnValidEdit(boolean commit)
          編集が JFormattedTextField に通知される際に設定します。
 void setOverwriteMode(boolean overwriteMode)
          文字の挿入時に動作を構成します。
 void setValueClass(Class<?> valueClass)
          新規 Object の作成に使用するクラスを設定します。
 Object stringToValue(String string)
          String 引数を取るコンストラクタによって、渡された String を getValueClass のインスタンスに変換します。
 String valueToString(Object value)
          渡された Object を toString メソッドを介して String に変換します。
 
クラス javax.swing.JFormattedTextField.AbstractFormatter から継承されたメソッド
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DefaultFormatter

public DefaultFormatter()
DefaultFormatter を作成します。

メソッドの詳細

install

public void install(JFormattedTextField ftf)
DefaultFormatter を特定の JFormattedTextField にインストールします。これにより valueToString が呼び出されて、現在の値が JFormattedTextField から String へ変換されます。次に getActions からの ActiongetDocumentFilter から返された DocumentFiltergetNavigationFilter から返された NavigationFilter が、JFormattedTextField にインストールされます。

サブクラスがリスナーを JFormattedTextField に追加インストールする場合は、通常、これをオーバーライドするだけです。

現在の値を String に変換する際に ParseException がスローされる場合、テキストは空の String に設定され、JFormattedTextField は無効な状態としてマークされます。

これは public メソッドですが、通常は JFormattedTextField のサブクラスに対してのみ有効です。値が変更されるか、内部状態が変更される場合、JFormattedTextField によりこのメソッドが呼び出されます。

オーバーライド:
クラス JFormattedTextField.AbstractFormatter 内の install
パラメータ:
ftf - 書式設定用の JformattedTextField。null も可 (現在の JFormattedTextField のアンインストールを示す)

setCommitsOnValidEdit

public void setCommitsOnValidEdit(boolean commit)
編集が JFormattedTextField に通知される際に設定します。true の場合、有効な編集後、常に (文字列が編集されるたびに) commitEdit が呼び出されます。一方、false の場合、DefaultFormatterJFormattedTextField に編集を通知しません。このように、JFormattedTextField の値が変更されるのは、commitEditJFormattedTextField 上で呼び出されるときだけであり、通常は Enter キーが押されたときか、フォーカスが JFormattedTextField にとどまっている場合が該当します。

パラメータ:
commit - 編集が JTextComponent にコミットされたときを示すために使用される

getCommitsOnValidEdit

public boolean getCommitsOnValidEdit()
編集が JFormattedTextField に通知されたときに返されます。

戻り値:
有効な編集後に編集がコミットされた場合は true

setOverwriteMode

public void setOverwriteMode(boolean overwriteMode)
文字の挿入時に動作を構成します。overwriteMode が true (デフォルト) の場合、新規文字でモデル内の既存の文字が上書きされます。

パラメータ:
overwriteMode - 上書きモードが使用されているかどうかを示します。

getOverwriteMode

public boolean getOverwriteMode()
文字の挿入時の動作を返します。

戻り値:
新規に挿入された文字が既存の文字を上書きする場合は、true

setAllowsInvalid

public void setAllowsInvalid(boolean allowsInvalid)
編集中の値を一定時間無効 (つまり stringToValueParseException をスローする) にできるかどうかを設定します。これは、無効な値の入力をユーザに一時的に許可する場合に便利な機能です。

パラメータ:
allowsInvalid - 編集した値を常に有効にする必要があるかどうかを示すのに使用される

getAllowsInvalid

public boolean getAllowsInvalid()
編集中の値を一定時間無効にできるかどうかを返します。

戻り値:
編集した値を常に有効にする必要がある場合は、false

setValueClass

public void setValueClass(Class<?> valueClass)
新規 Object の作成に使用するクラスを設定します。渡されたクラスに String を取る単一引数のコンストラクタがない場合、String の値が使用されます。

パラメータ:
valueClass - stringToValue からの戻り値の構築に使用するクラス

getValueClass

public Class<?> getValueClass()
新規 Object の作成に使用するクラスを返します。

戻り値:
stringToValue からの戻り値の構築に使用するクラス

stringToValue

public Object stringToValue(String string)
                     throws ParseException
String 引数を取るコンストラクタによって、渡された String を getValueClass のインスタンスに変換します。getValueClass が null を返す場合、JFormattedTextField 内の現行の値の Class が使用されます。これが null の場合、String が返されます。コンストラクタが例外をスローする場合は、ParseException がスローされます。単一引数の String コンストラクタが存在しない場合、string が返されます。

定義:
クラス JFormattedTextField.AbstractFormatter 内の stringToValue
パラメータ:
string - 変換対象の文字列
戻り値:
テキストのオブジェクト表現
例外:
ParseException - 変換にエラーがある場合

valueToString

public String valueToString(Object value)
                     throws ParseException
渡された Object を toString メソッドを介して String に変換します。

定義:
クラス JFormattedTextField.AbstractFormatter 内の valueToString
パラメータ:
value - 変換対象の値
戻り値:
値の文字列表現
例外:
ParseException - 変換にエラーがある場合

getDocumentFilter

protected DocumentFilter getDocumentFilter()
JFormattedTextField に入力可能な文字を限定する DocumentFilter を返します。

オーバーライド:
クラス JFormattedTextField.AbstractFormatter 内の getDocumentFilter
戻り値:
編集を限定する DocumentFilter

getNavigationFilter

protected NavigationFilter getNavigationFilter()
カーソルを配置できる場所を限定する NavigationFilter を返します。

オーバーライド:
クラス JFormattedTextField.AbstractFormatter 内の getNavigationFilter
戻り値:
ナビゲーションを限定する NavigationFilter

clone

public Object clone()
             throws CloneNotSupportedException
DefaultFormatter のコピーを作成します。

オーバーライド:
クラス JFormattedTextField.AbstractFormatter 内の clone
戻り値:
DefaultFormatter のコピー
例外:
CloneNotSupportedException - オブジェクトのクラスが Cloneable インタフェースをサポートしていない場合。clone メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある
関連項目:
Cloneable

JavaTM 2 Platform
Standard Ed. 5.0

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

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