-
- 型パラメータ:
T
- ラップされた値の型。
- すべてのスーパー・インタフェース:
Observable
- 既知のすべてのサブインタフェース:
Binding<T>
,JavaBeanProperty<T>
,NumberBinding
,NumberExpression
,ObservableBooleanValue
,ObservableDoubleValue
,ObservableFloatValue
,ObservableIntegerValue
,ObservableListValue<E>
,ObservableLongValue
,ObservableMapValue<K,V>
,ObservableNumberValue
,ObservableObjectValue<T>
,ObservableSetValue<E>
,ObservableStringValue
,Property<T>
,ReadOnlyJavaBeanProperty<T>
,ReadOnlyProperty<T>
,TextInputControl.Content
- 既知のすべての実装クラス:
BooleanBinding
,BooleanExpression
,BooleanProperty
,BooleanPropertyBase
,DoubleBinding
,DoubleExpression
,DoubleProperty
,DoublePropertyBase
,FloatBinding
,FloatExpression
,FloatProperty
,FloatPropertyBase
,IntegerBinding
,IntegerExpression
,IntegerProperty
,IntegerPropertyBase
,JavaBeanBooleanProperty
,JavaBeanDoubleProperty
,JavaBeanFloatProperty
,JavaBeanIntegerProperty
,JavaBeanLongProperty
,JavaBeanObjectProperty
,JavaBeanStringProperty
,ListBinding
,ListExpression
,ListProperty
,ListPropertyBase
,LongBinding
,LongExpression
,LongProperty
,LongPropertyBase
,MapBinding
,MapExpression
,MapProperty
,MapPropertyBase
,NumberExpressionBase
,ObjectBinding
,ObjectExpression
,ObjectProperty
,ObjectPropertyBase
,ObservableValueBase
,ReadOnlyBooleanProperty
,ReadOnlyBooleanPropertyBase
,ReadOnlyBooleanWrapper
,ReadOnlyDoubleProperty
,ReadOnlyDoublePropertyBase
,ReadOnlyDoubleWrapper
,ReadOnlyFloatProperty
,ReadOnlyFloatPropertyBase
,ReadOnlyFloatWrapper
,ReadOnlyIntegerProperty
,ReadOnlyIntegerPropertyBase
,ReadOnlyIntegerWrapper
,ReadOnlyJavaBeanBooleanProperty
,ReadOnlyJavaBeanDoubleProperty
,ReadOnlyJavaBeanFloatProperty
,ReadOnlyJavaBeanIntegerProperty
,ReadOnlyJavaBeanLongProperty
,ReadOnlyJavaBeanObjectProperty
,ReadOnlyJavaBeanStringProperty
,ReadOnlyListProperty
,ReadOnlyListPropertyBase
,ReadOnlyListWrapper
,ReadOnlyLongProperty
,ReadOnlyLongPropertyBase
,ReadOnlyLongWrapper
,ReadOnlyMapProperty
,ReadOnlyMapPropertyBase
,ReadOnlyMapWrapper
,ReadOnlyObjectProperty
,ReadOnlyObjectPropertyBase
,ReadOnlyObjectWrapper
,ReadOnlySetProperty
,ReadOnlySetPropertyBase
,ReadOnlySetWrapper
,ReadOnlyStringProperty
,ReadOnlyStringPropertyBase
,ReadOnlyStringWrapper
,SetBinding
,SetExpression
,SetProperty
,SetPropertyBase
,SimpleBooleanProperty
,SimpleDoubleProperty
,SimpleFloatProperty
,SimpleIntegerProperty
,SimpleListProperty
,SimpleLongProperty
,SimpleMapProperty
,SimpleObjectProperty
,SimpleSetProperty
,SimpleStringProperty
,SimpleStyleableBooleanProperty
,SimpleStyleableDoubleProperty
,SimpleStyleableFloatProperty
,SimpleStyleableIntegerProperty
,SimpleStyleableLongProperty
,SimpleStyleableObjectProperty
,SimpleStyleableStringProperty
,StringBinding
,StringExpression
,StringProperty
,StringPropertyBase
,StyleableBooleanProperty
,StyleableDoubleProperty
,StyleableFloatProperty
,StyleableIntegerProperty
,StyleableLongProperty
,StyleableObjectProperty
,StyleableStringProperty
public interface ObservableValue<T> extends Observable
ObservableValue
は、値をラップし、値の変更を監視できるエンティティです。 通常、このインタフェースは直接実装されませんが、サブインタフェースのいずれか(ObservableBooleanValue
など)が実装されます。getValue()
を使用して、ObservableValue
の値をリクエストできます。ObservableValue
の実装は、遅延評価をサポートする場合があります。つまり、変更後に値がすぐに再計算されず、遅れて次に値をリクエストするときに再計算されます。 このライブラリのすべてのバインディングおよびプロパティは、遅延評価をサポートします。ObservableValue
は、次の2つのタイプのイベントを生成します: 変更イベントと無効化イベント。 変更イベントは、値が変更されたことを示します。 現在の値が有効でなくなった場合、無効化イベントが生成されます。ObservableValue
が遅延評価をサポートする場合、値が遅延して評価されるので再計算されるまで無効な値が実際に変更されたかどうかわからないため、この区別は重要になります。 このため、無効化イベントを即時実装および遅延実装に生成できますが、変更イベントの生成は即時評価が必要になります。このクラスの実装は、イベント・ハンドラでの時間の大量消費を回避するためにできるだけ少ないイベントを生成する必要があります。 このライブラリの実装は、最初の無効化イベントの発生時に無効とマークされます。 値が再計算されて再度有効になるまで、追加の無効化イベントを生成しません。
次の2つのタイプのリスナーを
ObservableValue
にアタッチできます: 無効化イベントをリスニングするInvalidationListener
と変更イベントをリスニングするChangeListener
。重要な注意:
ObservableValue
の実装が遅延評価をサポートしていても、ChangeListener
のアタッチでは、即時計算を適用します。
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 void
addListener(ChangeListener<? super T> listener)
ObservableValue
の値が変更されるたびに通知されるChangeListener
を追加します。T
getValue()
このObservableValue
の現在の値を返しますvoid
removeListener(ChangeListener<? super T> listener)
ObservableValue
の値が変更されるたびに通知されるリスナーのリストから指定されたリスナーを削除します。-
インタフェースjavafx.beans.Observableから継承されたメソッド
addListener、removeListener
-
-
-
-
メソッドの詳細
-
addListener
void addListener(ChangeListener<? super T> listener)
ObservableValue
の値が変更されるたびに通知されるChangeListener
を追加します。 同じリスナーが複数回追加される場合、複数回通知されます。 つまり、一意性を確認するためにチェックが実行されません。実際の同じ
ChangeListener
インスタンスが異なるObservableValues
に対して安全に登録される場合があるので注意してください。ObservableValue
は、リスナーの強参照を格納するため、リスナーはガベージ・コレクションされず、メモリー・リークが発生する可能性があります。 使用後にremoveListener
を呼び出してリスナーを登録解除するか、WeakChangeListener
のインスタンスを使用してこの状況を回避することをお薦めします。- パラメータ:
listener
- 登録するリスナー- 例外:
NullPointerException
- リスナーがnullである場合- 関連項目:
removeListener(ChangeListener)
-
removeListener
void removeListener(ChangeListener<? super T> listener)
ObservableValue
の値が変更されるたびに通知されるリスナーのリストから指定されたリスナーを削除します。指定されたリスナーが以前に登録されていない場合(つまり、一度も追加されていなかった場合)、このメソッドの呼出しはno-opです。 以前に追加されたことがある場合は削除されます。 複数回追加された場合、最初の発生のみ削除されます。
- パラメータ:
listener
- 削除するリスナー- 例外:
NullPointerException
- リスナーがnullである場合- 関連項目:
addListener(ChangeListener)
-
getValue
T getValue()
このObservableValue
の現在の値を返します- 戻り値:
- 現行値
-
-