【发布时间】:2015-03-10 20:12:47
【问题描述】:
我对 JavaFX 中的绑定有疑问。假设我有映射 1:"Aaa"、2:"Bbb"、3:"Ccc" 等等。我想要的是根据这个映射绑定(双向)2个属性 IntegerProperty 和 StringProperty 。如何做到这一点?
UPD:我将尝试描述我的用例。我有课
class A {
IntegerProperty num;
...
}
但在用户界面中,我想显示的不是这个数值,而是一些有意义的字符串。所以我想添加StringProperty numValue并绑定num和numValue。在表中,我将使用numValue 作为 TableColumn 的属性。当用户更改numValue 的值时(例如通过组合框),我希望num 自动更新。
【问题讨论】:
-
为什么需要绑定东西?是因为映射可以改变吗?例如2:“Bbb”可能变成 2:“Zzz”?你用你的两个属性绑定了什么 - 一个地图条目,例如2:“BB”?因为只有 2 个属性,您无法绑定到整个地图。
-
我猜,即使您限制绑定单个映射条目的属性,它仍然有点模糊,因为映射可以具有两个不同键的相同值,例如一:许多。如果您有 2:“Bbb”和 3:“Bbb”,那么“Bbb”对应的绑定整数值是多少?您可能需要稍微处理您的问题以更准确地指定它。不过,这是一个有趣的问题……也许可以添加一些代码,彻底演示如果 API 可用,您将如何使用它。
-
我用我的用例描述更新了我的问题。 Tomas Mikula 提出的解决方案帮助了我。