2017-01-17 3 views
1

異なる値から始まるJavaFxの2つのプロパティを双方向にバインドするとどのようなことが起こりますか?私のテスト(わずかに異なるセットアップ)で2つのプロパティを異なる値で双方向バインドすると、どの値が取られますか?

ObjectProperty<MyType> property1 = new SimpleObjectProperty(value1); 
ObjectProperty<MyType> property2 = new SimpleObjectProperty(value2); 
property1.bindBidirectional(property2); 
// will both properties be set to value1 or to value2? 

property2property1の値に設定されているようです。しかし、これは偶然であるか、私が頼りにできるこのような行動ですか? APIに関するこれについて何も見つかりませんでした。

私は確認することはできませんので、私は現在、次のパターンを使用しますが、これは私には冗長なようだ:

ObjectProperty<MyType> property1 = new SimpleObjectProperty(value1); 
ObjectProperty<MyType> property2 = new SimpleObjectProperty(value2); 
property1.setValue(property2.getValue()); 
property1.bindBidirectional(property2); 
+0

は、なぜ彼らに同じ初期値を与えていない:

は例えば、二つのプロパティに同じ値を与えますか? – Bohemian

+0

@ボヘミアン現実的な状況では、これらは互いに隣り合っていません。しかし、私のモデルには、デフォルトが設定されている1つの先導的価値があります。次に、コントロールはこのデフォルト値にバインドされます(たとえば、選択ボックスの選択された値) – Thirler

答えて

0

javadocは動作を指定していないので、何のテストと発見あなたが作ることはすべきではありませんJavaの次のリリースで実装が変更される可能性があるためです。

文書化されていない動作に頼る代わりに、内部実装が問題にならないようにコーディングしてください。

ObjectProperty<MyType> property1 = new SimpleObjectProperty(value1); 
ObjectProperty<MyType> property2 = new SimpleObjectProperty(value1); 
property1.bindBidirectional(property2); 
関連する問題