2011-10-04 70 views
1

我需要顯示一個自定義的數據庫表中的節點列表,這些列表經常從外部來源更新。JavaFX從數據庫中重新提取observablelist

更改時對數據庫進行,名單需要相應更新屏幕上。

爲此,我已經實現了與應檢查是否有改變和重建自定義列表一個onChanged方法的ObservableList。

我我的情況OnChanged方法當新數據在數據庫中添加,只有當改變在運行的已定義ObservableList做出將永遠不會觸發。

我怎樣才能讓當數據庫中存在的新數據ObservableList知道嗎?

在此先感謝!

+0

輪詢數據庫不是一個選項嗎?我不知道任何使用任何推送模型的連接(推送到客戶端)的RDBMS。如果我必須破解一個 - 我會在桌子上寫一個觸發器來檢測變化,並做出相應的反應。 – jkaufmann

+0

我寫了一個計時器函數,每隔x秒重新讀取數據並相應地重新構建gui節點。 如果我只更新數據,那麼observablelist將被替換,並且更改不會被onChanged方法注意到,所以我不得不完全重建gui。 – Sobek

回答

0

鑑於你的答案jkaufmann看來你需要改變你的邏輯。

相反ObservableList你需要計算新的數據和更新ObservableList新/刪除數據的差異每次重建的。