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, 2014, Oracle and/or its affiliates. All rights reserved.