我现在正在使用 Java FX 制作一个游戏,现在我开始添加 gui 元素,这些元素显示下面的游戏模型的数据。 我遇到了 TableView,并且所有示例实现都与模型类中的 SimpleProperties 一起使用。
首先,我认为这没有真正的区别,但例如,如果 amount
是 SimpleDoubleProperty,则不能执行此操作:
amount += 10;
那么我为什么要这样使用它,而不能使用普通变量并与它们一起显示呢?
谢谢
最佳答案
JavaFX 属性是可观察和可绑定(bind)的。这允许控件在数据更改时自动更新。常规 Java 变量无法以这种方式在 native “观察”,因此如果您不使用 JavaFX 属性,您最终必须自己将所有更改连接到 UI 控件。请参阅documentation了解更多详情。
请注意,您可以这样做
amount.set(amount.get()+10);
相当于
amount += 10 ;
关于Java FX 为什么我应该使用 SimpleProperties 而不仅仅是普通的 native 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41018412/