2017-05-04 28 views
0

我還在學習的雙重價值,我希望你能幫助我:如何在JavaFX進度綁定到存儲在對象

我有一個存儲double值,表示進度百分比的對象myObject的計算 (當myObject初始化時,值爲0D,並經常在myObject本身內更新,直到達到100D)


我想綁定這種雙重價值的JavaFX的進度,這樣,當存儲在myObject的值被更新,所以進度會。


我聽說過一些,觀察者/可觀察/監聽
這是我在找什麼?有人可以給我看一些代碼,以便我能理解嗎?

謝謝!

+0

這可能有幫助:http://docs.oracle.com/javase/8/javafx/properties-binding-tutorial/binding.htm#JFXBD107 –

回答

1

我知道我遲了五個月,但我只是had a very similar problem,在我的搜索過程中遇到了你的問題,沒有人回答。也沒有人回答我的問題,所以我一直在挖,直到我自己想出來。我假設如果我偶然發現你的帖子尋找答案,其他人最終也會這樣做,所以我想分享我的答案。

是的,你要找的是ObservableDouble。假設你能夠改變myObject的是一個雙:

DoubleProperty barUpdater = new SimpleDoubleProperty(myObject); 

而且,在初始化的地方(或任何你使用的工具欄),綁定你的酒吧吧:

progressBar.progressProperty().bind(barUpdater); 

然後,當你想更新ProgressBar時,你可以將設置爲更新器的值爲別的。

barUpdater.set(myObject); 

這樣做,您將更新ProgressBar正在偵聽的ObservableDouble,使其更新其值。

請參閱my answer here瞭解如果您需要使用的代碼示例。