gpt4 book ai didi

java - 热至 "flatten"TornadoFX(JavaFX 扩展)中 ObjectProperty 的 ObjectProperty?

转载 作者:行者123 更新时间:2023-11-29 04:11:12 25 4
gpt4 key购买 nike

假设我有三个类:

class A {
val bProperty: ObjectProperty<B> = SimpleObjectProperty(B(C("test")))

val cObservable: ObservableValue<C> = ???
}

class B(initialC: C) {
val cProperty: ObjectProperty<C> = SimpleObjectProperty(initialC)
}

class C(val string: String)

您可能已经看到,在类 A 中,我想要一个 cObservable,当 bProperty 的值更改时,它会更新其值或者当当前 bProperty.value 中的 cProperty 的值发生变化时。

我最接近的是这样的:

val cObservable: ObservableValue<ObjectProperty<C>> = nonNullObjectBinding(bProperty) {
value.cProperty
}

但这给了我 CObservableValue 而不是 ObservableValueObservableValue C。所以我无能为力。

提前感谢您的帮助。

最佳答案

您可以使用select 扩展方法:

val cObservable: ObservableValue<C> = bProperty.select { it.cProperty }

或:

val cObservable: ObservableValue<C> = bProperty.select (B::cProperty)

关于java - 热至 "flatten"TornadoFX(JavaFX 扩展)中 ObjectProperty 的 ObjectProperty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54962062/

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