public interface PropertyEditor
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)
値変更のリスナーを追加します。
|
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)
値変更のリスナーを削除します。
|
void |
setAsText(String text)
指定された String (文字列) を解析してプロパティー値を設定します。
|
void |
setValue(Object value)
編集するオブジェクトを設定または変更します。
|
boolean |
supportsCustomEditor()
このプロパティーエディタがカスタムエディタをサポートするかどうかを判定します。
|
void setValue(Object value)
value
- 編集対象の新しいターゲットオブジェクト。このオブジェクトは PropertyEditor で変更するのではなく、PropertyEditor で新しいオブジェクトを作成して変更された値を保存する。Object getValue()
boolean isPaintable()
void paintValue(Graphics gfx, Rectangle box)
PropertyEditor が描画要求を受け取らない場合 (isPaintable を参照)、このメソッドは何も行いません。
指定された Graphics オブジェクトは、親コンテナのデフォルトのフォントや色などを持つことになります。PropertyEditor は、フォントや色などのグラフィックス属性を変更することがあり、古い値を復元する必要はありません。
gfx
- 描画するグラフィックスオブジェクト。box
- 描画するべきグラフィックスオブジェクト内の矩形。String getJavaInitializationString()
コードのフラグメントは、コンテキストに依存すべきでなく、JLS で指定された正規の Java 式である必要があります。
特に式が計算を表す場合は、すべてのクラスと静的メンバーを完全指定するようにしてください。この規則はコンストラクタ、static メソッド、および非プリミティブ引数に適用されます。
式を評価するときには、その式が例外をスローする可能性があるため注意が必要です。特にコードジェネレータは、チェック例外をスローする可能性のある式が存在するときに、生成されたコードが確実にコンパイルされるようにする必要があります。
たとえば次のような結果になります。
2
new java.awt.Color(127,127,34)
java.awt.Color.orange
javax.swing.Box.createRigidArea(new java.awt.Dimension(0, 5))
;
') で式を終わらせないこと。String getAsText()
編集可能な文字列として値を表現できない場合は null。
null 以外の値が返されると、PropertyEditor はその文字列を解析して setAsText() に戻す。
void setAsText(String text) throws IllegalArgumentException
text
- 解析される文字列。IllegalArgumentException
String[] getTags()
Component getCustomEditor()
getCustomEditor を呼び出す高レベルなコードでは、コンポーネントをより大きなプロパティーシートに組み込んだり、独自のダイアログに配置したりすることができます。
boolean supportsCustomEditor()
void addPropertyChangeListener(PropertyChangeListener listener)
null
値を指定して、登録されているすべての PropertyChangeListener
に対して PropertyChangeEvent
をトリガーする必要があります。listener
- 追加する PropertyChangeListener
void removePropertyChangeListener(PropertyChangeListener listener)
listener
- 削除する PropertyChangeListener
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.