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/