JavaTM 2 Platform
Std. Ed. v1.3

java.beans
インタフェース PropertyEditor

既知の実装クラスの一覧:
PropertyEditorSupport

public interface PropertyEditor

PropertyEditor クラスは、ユーザが指定の型のプロパティ値を編集するための GUI のサポートを提供します。

PropertyEditor は、プロパティ値の表示や更新についてさまざまな方法をサポートします。大部分の PropertyEditor では、この API で使える各種オプションのサブセットをサポートするだけで十分です。

単純な PropertyEditors がサポートするのは getAsText と setAsText メソッドだけで、paintValue や getCustomEditor のサポートは不要です。より複雑なものでは、getAsText や setAsText はサポートできませんが、代わりに paintValue と getCustomEditor をサポートします。

各 propertyEditor は、次の 3 つの表示スタイルのうち 1 つ以上を必ずサポートする必要があります。つまり、(1) isPaintable のサポート、(2) getTags() から null でない String[] を返し、かつ getAsText から null でない値を返す、または (3) 単に getAsText() から null でない String を返す、の 3 つです。

各プロパティエディタは、引数オブジェクトが対応する propertyEditor の型である場合に、setValue の呼び出しをサポートする必要があります。さらに各プロパティエディタは、カスタムエディタまたは setAsText のどちらかをサポートする必要があります。

各 PropertyEditor は、null コンストラクタを持たなければなりません。


メソッドの概要
 void addPropertyChangeListener(PropertyChangeListener listener)
          PropertyChange イベントのリスナーを登録します。
 String getAsText()
          プロパティ値をテキストとして取得します。
 Component getCustomEditor()
          PropertyEditor は、プロパティ値を編集する完全なカスタムコンポーネントを使用できます。
 String getJavaInitializationString()
          Java コードを生成してプロパティ値を設定するときに使います。
 String[] getTags()
          プロパティ値が既知のタグ付きの値セットの 1 つでなければならない場合に、タグの配列を返します。
 Object getValue()
          プロパティ値を取得します。
 boolean isPaintable()
          このプロパティエディタがペイント可能かどうかを判定します。
 void paintValue(Graphics gfx, Rectangle box)
          値の表現を画面の指定された領域に描画します。
 void removePropertyChangeListener(PropertyChangeListener listener)
          PropertyChange イベントのリスナーを削除します。
 void setAsText(String text)
          指定された String (文字列) を解析してプロパティ値を設定します。
 void setValue(Object value)
          編集されるオブジェクトを設定 (または変更) します。
 boolean supportsCustomEditor()
          このプロパティエディタがカスタムエディタをサポートするかどうかを判定します。
 

メソッドの詳細

setValue

public void setValue(Object value)
編集されるオブジェクトを設定 (または変更) します。int などのプリミティブ型は、対応する java.lang.Integer などのオブジェクト型でラップされる必要があります。
パラメータ:
value - 編集対象の新しいターゲットオブジェクト。このオブジェクトは PropertyEditor で変更するのではなく、PropertyEditor で新しいオブジェクトを作成して変更値を保存する

getValue

public Object getValue()
プロパティ値を取得します。
戻り値:
プロパティの値。int などのプリミティブ型は、対応する java.lang.Integer などのオブジェクト型でラップされる必要がある

isPaintable

public boolean isPaintable()
このプロパティエディタがペイント可能かどうかを判定します。
戻り値:
クラスが paintValue メソッドを受け取る場合は true

paintValue

public void paintValue(Graphics gfx,
                       Rectangle box)
値の表現を画面の指定された領域に描画します。propertyEditor は、独自のクリッピングを行い、指定された矩形内に収めます。

PropertyEditor が描画要求を受け取らない場合 (isPaintable を参照)、このメソッドは何も行いません。

指定された Graphics オブジェクトは、親コンテナのデフォルトのフォントや色などを持つことになります。PropertyEditor は、フォントや色などのグラフィックス属性を変更することがあり、古い値を復元する必要はありません。

パラメータ:
gfx - 描画されるグラフィックオブジェクト
box - グラフィックオブジェクトを描画する矩形

getJavaInitializationString

public String getJavaInitializationString()
Java コードを生成してプロパティ値を設定するときに使います。現在のプロパティ値を持つ変数の初期化に使える Java コードのフラグメントを返します。

結果例として「2」、「new Color(127,127,34)」、「Color.orange」などがあります。

戻り値:
現在値の初期化子を表す Java コードのフラグメント

getAsText

public String getAsText()
プロパティ値をテキストとして取得します。
戻り値:
ユーザが編集できる文字列で表現されたプロパティ値

編集可能な文字列として値を表現できない場合は null

null 以外の値が返されると、PropertyEditor はその文字列を解析して setAsText() に戻す


setAsText

public void setAsText(String text)
               throws IllegalArgumentException
指定された String (文字列) を解析してプロパティ値を設定します。String の書式が不正な場合、あるいはプロパティをテキスト表示できない場合は、java.lang.IllegalArgumentException がスローされます。
パラメータ:
text - 解析される文字列

getTags

public String[] getTags()
プロパティ値が既知のタグ付きの値セットの 1 つでなければならない場合に、タグの配列を返します。たとえば、これを使って列挙値を表示できます。PropertyEditor がタグをサポートする場合、値を設定する方法として、タグ付きの値を持つ setAsText を使ったり、現在の値を識別するために getAsText を使ったりすることができます。
戻り値:
このプロパティのタグ付きの値。このプロパティをタグ付きの値として表示できない場合は null

getCustomEditor

public Component getCustomEditor()
PropertyEditor は、プロパティ値を編集する完全なカスタムコンポーネントを使用できます。PropertyEditor は、エディタのコンポーネントと連携し、PropertyChange イベントをトリガーしてプロパティ値の変更を通知します。

getCustomEditor を呼び出す高レベルなコードでは、コンポーネントをより大きなプロパティシートに組み込んだり、独自のダイアログに配置したりすることができます。

戻り値:
ユーザが現在のプロパティ値を直接編集できるようにする java.awt.Component。サポートされない場合は null

supportsCustomEditor

public boolean supportsCustomEditor()
このプロパティエディタがカスタムエディタをサポートするかどうかを判定します。
戻り値:
propertyEditor がカスタムエディタをサポートできる場合は true

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChange イベントのリスナーを登録します。PropertyEditor は、値の変更時にプロパティ名を null 値として、イベント自体をソースとして指定し、登録されているすべての PropertyChangeListeners 上で PropertyChange イベントをトリガーします。
パラメータ:
listener - PropertyChange イベントがトリガーされたときに呼び出されるオブジェクト

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChange イベントのリスナーを削除します。
パラメータ:
listener - 削除される PropertyChange リスナー

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.