JavaTM 2 Platform
Standard Ed. 5.0

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

void setValue(Object value)
編集されるオブジェクトを設定 (または変更) します。int などのプリミティブ型は、対応する java.lang.Integer などのオブジェクト型でラップされる必要があります。

パラメータ:
value - 編集対象の新しいターゲットオブジェクト。このオブジェクトは PropertyEditor で変更するのではなく、PropertyEditor で新しいオブジェクトを作成して変更値を保存する

getValue

Object getValue()
プロパティ値を取得します。

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

isPaintable

boolean isPaintable()
このプロパティエディタがペイント可能かどうかを判定します。

戻り値:
クラスが paintValue メソッドを受け取る場合は true

paintValue

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

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

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

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

getJavaInitializationString

String getJavaInitializationString()
Java コードの断片を返します。この断片を使って、エディタの現在の状態に一致するプロパティを設定できます。このメソッドは、プロパティエディタによる変更を反映する目的で Java コードを生成するときに使用されます。

コードの断片は、コンテキストに依存しない、JLS 指定の Java 正規表現とします。

特に、この表現 (式) が計算式の場合、すべてのクラスおよび static メンバを完全修飾名で指定する必要があります。この規則は、コンストラクタ、static メソッド、および非プリミティブ引数に適用されます。

この表現 (式) を評価するときは、例外がスローされる可能性に注意してください。特に、コードの作成者は、確認済み例外をスローするかもしれない表現がある場合に、生成されたコードが確実にコンパイルされるように注意してください。

結果例を示します。

戻り値:
現在の値の初期化子を表す Java コードの断片。式の末尾にセミコロン (「;」) を使用してはならない

getAsText

String getAsText()
プロパティ値をテキストとして取得します。

戻り値:
ユーザが編集できる文字列で表現されたプロパティ値

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

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


setAsText

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

パラメータ:
text - 解析される文字列
例外:
IllegalArgumentException

getTags

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

戻り値:
このプロパティのタグ付きの値。このプロパティをタグ付きの値として表示できない場合は null

getCustomEditor

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

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

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

supportsCustomEditor

boolean supportsCustomEditor()
このプロパティエディタがカスタムエディタをサポートするかどうかを判定します。

戻り値:
propertyEditor がカスタムエディタをサポートできる場合は true

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChange イベントのリスナーを登録します。PropertyEditor は、値の変更時にプロパティ名を null 値として、イベント自体をソースとして指定し、登録されているすべての PropertyChangeListeners 上で PropertyChange イベントをトリガします。

パラメータ:
listener - PropertyChange イベントがトリガされたときに呼び出されるオブジェクト

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChange イベントのリスナーを削除します。

パラメータ:
listener - 削除される PropertyChange リスナー

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 も参照してください。