| インタフェース | 説明 |
|---|---|
| Binding<T> |
Bindingは、1つ以上のソースに依存する値を計算します。 |
| NumberBinding |
数値をラップするすべてのバインディングをマークするタグ付けインタフェース。
|
| NumberExpression |
NumberExpressionは、ObservableNumberValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| クラス | 説明 |
|---|---|
| Bindings |
Bindingsは、簡単なバインディングを作成するために多くのユーティリティ関数を使用したヘルパー・クラスです。
|
| BooleanBinding |
boolean値のBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| BooleanExpression |
BooleanExpressionは、ObservableBooleanValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| DoubleBinding |
double値のBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| DoubleExpression |
DoubleExpressionは、ObservableDoubleValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| FloatBinding |
float値のBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| FloatExpression |
FloatExpressionは、ObservableFloatValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| IntegerBinding |
int値のBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| IntegerExpression |
IntegerExpressionは、ObservableIntegerValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| ListBinding<E> |
ObservableListのBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| ListExpression<E> |
ListExpressionは、ObservableListValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| LongBinding |
long値のBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| LongExpression |
LongExpressionは、ObservableLongValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| MapBinding<K,V> |
ObservableMapのBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| MapExpression<K,V> |
MapExpressionは、ObservableMapValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| NumberExpressionBase |
NumberExpressionBaseには、すべてのNumberExpressionサブクラスに共通の優れたスタイルのバインディングを生成する便利なメソッドが含まれています。 |
| ObjectBinding<T> |
ObjectのBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| ObjectExpression<T> |
ObjectExpressionは、ObservableObjectValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| SetBinding<E> |
ObservableSetのBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| SetExpression<E> |
SetExpressionは、ObservableSetValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| StringBinding |
StringのBindingを実装するために必要なほとんどの機能を提供するベース・クラス。 |
| StringExpression |
StringExpressionは、ObservableStringValueと優れたスタイルでバインディングを生成する便利な追加のメソッドです。 |
| When |
3項式を計算するバインディングの開始ポイント。
|
バインディングは1つ以上のソースからアセンブルされ、通常バインディングの依存性と呼ばれます。 バインディングは依存性の変更を監視し、依存性の変更に従って自身の値を更新します。
このライブラリで定義されたほとんどすべてのバインディングは、依存性にObservableの実装が必要です。 パッケージjavafx.beans.propertyのプロパティと監視可能なコレクション(ObservableListおよびObservableMap)で2つのタイプの実装がすでに用意されています。 バインディングはObservableも実装し、簡単なバインディングから非常に複雑なバインディングに至るまで他のバインディングを構築できるソースとしても役立ちます。
実装のバインディングは、常に遅延して計算されます。 つまり、依存性が変更されると、バインディングの結果がすぐに再計算されず、無効とマークされます。 次に無効なバインディングの値をリクエストする場合に計算されます。
バインディングAPIは、上位バインディングAPIと下位バインディングAPIの2つの部分に大別されます。 上位バインディングAPIでは、使いやすい形式で簡単なバインディングを構築できます。 上位レベルAPIによるバインディングの定義は、特にコード補完を提供するIDEを利用する場合に簡単なはずです。 ただし制限があり、その点で下位APIも役立ちます。 経験を積んだJava開発者は、上位レベルAPIの機能が十分でない場合、またはパフォーマンスを向上するために、下位レベルAPIを使用してバインディングを定義できます。 下位APIの主な目標は、高速な実行と小さいメモリー・フットプリントです。
両方のAPIの使用方法の例は、次のとおりです。 DoubleProperty a、b、cおよびdの4つのインスタンスを持つ場合、次の例のように上位レベルAPIを使用してa*b + c*dを計算するバインディングを定義できます。
NumberBinding result = Bindings.add (a.multiply(b), c.multiply(d));
下位レベルAPIを使用した同じバインディングの定義は、次のように実行できます。
DoubleBinding foo = new DoubleBinding() {
{
super.bind(a, b, c, d);
}
@Override
protected double computeValue() {
return a.getValue() * b.getValue() + c.getValue() * d.getValue();
}
};
Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.