在数据模型中使用javafx属性和绑定

Ago*_*noX 8 java javabeans javafx-2

javafx属性是将数据模型连接到javafx gui的好方法,因为它们的绑定模型实现了强大的通知更新机制.

属性和绑定并不是严格意义上的相关,而是它们是javabeans的扩展.

所以一个想在应用模型类使用它们没有在包装上介绍的依赖javafx.beans.property.StringProperty和一般的javafx.*.

换句话说:(更新)
我可能需要将应用程序拆分为两个模块.
一个模块应该只包含操作数据的类(Model类,MVC).
第二个模块将包含所有图形gui的东西,即javafx.

如果我的数据类使用javafx绑定,我会引入一个导入javafx.beans.anything;(最好的是绑定是java.*或javax.*的一部分,所以我不会将"gui库"引用到核心数据库中).javafx将被纳入标准版本的事实缓解了这种增长,但这似乎是一个棘手的解决方案.毕竟我认为我斜视一个依赖于一些摇摆"实用"类的Web应用程序.

有没有可用的选择?

我正在评估使用listeneres创建常规javabeans属性并将它们桥接到fx属性所需的工作量.

Ser*_*nev 1

将 JavaFX 对象绑定到 POJO(普通旧 Java 对象)技术可能会对您有所帮助。

请参阅下一组教程:http://ugate.wordpress.com/2012/06/06/javafx-pojo-bindings/

简而言之,您可以使用下一种方式来访问 POJO 对象:

    Person person = new Person();
    PathProperty prop = new PathProperty(
        person, "address.streetName", String.class);
    Bindings.bindBidirectional(prop, myTextField.textProperty());
    prop.set("123 1st Street");
Run Code Online (Sandbox Code Playgroud)