javafx屬性是將數據模型連接到javafx gui的好方法,因爲它們的綁定模型實現了強大的通知更新機制。
在數據模型中使用javafx屬性和綁定
屬性和綁定不是嚴格的gui相關,而是它們是javabeans的擴展。
因此,人們希望在應用程序模型類中使用它們,而不會引入對包javafx.beans.property.StringProperty
和一般來說javafx.*
的依賴關係。
換句話說:(更新)
我可能需要應用程序分成兩個模塊。
一個模塊應該只包含操縱數據的類(Model類,MVC說)。
第二個模塊將包含所有圖形gui的東西,即javafx。
如果我的數據類使用javafx綁定,我會引入一個導入javafx.beans.anything;
(最好的情況是綁定是java。*或javax。*的一部分,所以我不會將「gui庫」引用到核心數據庫)。 javafx將被包含在標準版本中的事實緩解了這個問題,但它似乎是一個棘手的解決方案。畢竟,我認爲我眯起了一個網絡應用程序,這取決於一些擺動「實用程序」類。
有沒有可用的選項?
我正在評估創建具有監聽器的常規javabeans屬性並將它們橋接到fx屬性所需的工作量。
你能說清楚'使用javafx屬性而不依賴於javafx.beans包'是什麼意思嗎?你可以從這個包裏使用它們或者編寫你自己的包。鑑於JavaFX自7u4以來就是Java的一部分,後一種選擇並不是很有用。 –
我已添加'換句話說'。 – AgostinoX
謝爾蓋給你正確的提示。如果你喜歡使用屬性和綁定,只需在你的模型中使用這些屬性!無論如何,它是7u4以來的所有JDK的一部分。 – pmoule