java - 在数据模型中使用 javafx 属性和绑定(bind)

标签 java javabeans javafx-2

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

属性和绑定(bind)并不严格与图形用户界面相关,而是对 javabean 的扩展。

因此人们希望在应用程序模型类中使用它们而不引入对包 javafx.beans.property.StringProperty 的依赖,通常来自 javafx.* .

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

如果我的数据类使用 javafx 绑定(bind),我会引入一个 import javafx.beans.anything;(最好是绑定(bind)是 java.* 或 javax.* 的一部分,所以我不会t 将“gui 库”引用到核心数据库中)。 javafx 将包含在标准版本中这一事实缓解了这个问题,但这似乎是一个棘手的解决方案。毕竟,我认为我斜视了一个依赖于某些 swing“实用程序”类的 Web 应用程序。

有没有可用的选项?

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

最佳答案

将 JavaFX 对象绑定(bind)到 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");

关于java - 在数据模型中使用 javafx 属性和绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12420692/

相关文章:

Java:在 Set 中添加/删除短整型元素时输出不同

java - 我得到下一个输出 :The class 'misBeans.Datos' does not have a readable property 'enlace'

java - 什么是 Java bean?

java - Graphics2D 和 GraphicsContext 之间的互操作性

java - 缺少 JavaFX 应用程序类

java - 如何通过 TCP 套接字连接重定向进程的输入和输出? ( java )

java - 将 List<javax.persistence.Tuple> 序列化为 JSON

java - JGit : Add a file present in a folder using Add()

java - 在 Spring MVC 中,当我使用完 session 作用域 bean 后,是否需要取消绑定(bind)到 session 的 bean 对象?如果是,怎么办?

javascript - JavaFX 容器内的 Java、JavaFx : Inserting a HTML&JS(static, 无互联网)项目