JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing.text
クラス DefaultFormatter

java.lang.Object
  |
  +--javax.swing.JFormattedTextField.AbstractFormatter
        |
        +--javax.swing.text.DefaultFormatter
すべての実装インタフェース:
Cloneable, Serializable
直系の既知のサブクラス:
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 に適しています。1.4 では、すべての JavaBeansTM の長期運用サポートが、 java.beans パッケージに追加されました。XMLEncoder を参照してください。

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

コンストラクタの概要
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 - 変換する値
戻り値:
値の String 表現
例外:
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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

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.