JavaTM Platform
Standard Ed. 6

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 Version 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 に追加リスナーをインストールする場合だけです。

現在の値を文字列に変換するときに ParseException が発生した場合は、テキストとして空の文字列が設定され、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 Platform
Standard Ed. 6

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

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