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