gpt4 book ai didi

java - 在TornadoFX中,如何在其他属性更改时更改其中一个属性?

转载 作者:行者123 更新时间:2023-11-30 02:39:51 25 4
gpt4 key购买 nike

例如,我想这样做:我有一个 StringProperty,它是 IntegerProperty 和另一个 StringProperty 的组合,如下所示:

  • 字符串属性 A =“foo”
  • 整数属性 B = 3
  • 生成的 StringProperty C = "foo 3"

如何“绑定(bind)”属性,以便当 A 或 B 更改时 C 也会更改? (请注意,我不想对 C 所做的更改使用react)

我尝试使用stringBinding()方法,但我不清楚这个方法到底是如何工作的,并且有关它的文档也不清楚。

最佳答案

stringBinding 就是你想要的。第一个参数将成为计算 block 内的 this,如果 this 是可观察值,它将作为依赖项添加,用于计算何时应重新评估字符串绑定(bind)。其余参数(此处仅 b)也被添加为重新评估依赖项。

如果您执行 stringBinding(a, b) { "${a.value} ${b.value}"},您就创建了一个字符串绑定(bind),每当 ab 更改。由于上例中 thisa,因此您也可以编写 stringBinding(a, b) { "${this.value} ${b. value}"} 但我认为这并没有使它变得更清晰:)

我们决定将第一个元素设置为 this 的原因通过以下示例更加明显:

val sizeDescription = bind(items) { "$size 列表中的元素"}

在这里,您不需要再次引用items来获取它的size属性。

关于java - 在TornadoFX中,如何在其他属性更改时更改其中一个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42088902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com