En TornadoFX, ¿cómo puedo hacer que una propiedad cambie cuando cambian otras properties?

Por ejemplo, quiero hacer esto: tengo StringProperty, y es una combinación de IntegerProperty y anoter StringProperty, como esta:

  • StringProperty A = "foo"
  • IntegerProperty B = 3
  • Result StringProperty C = "foo 3"

¿Cómo puedo "enlazar" las properties de modo que C cambie cuando se modifican A o B? (Tenga en count que no quiero reactjsr a los cambios realizados a C)

Intenté utilizar el método stringBinding() , pero no me queda claro cómo funciona exactamente este método y no está clara la documentation al respecto.

stringBinding es lo que quieres. El primer argumento se convertirá en this dentro del bloque de cálculo, y si this es un valor observable, se agregará como una dependencia utilizada para calcular cuándo se debe volver a evaluar el enlace de cadena. El rest de los parameters (solo aquí) se agregan como dependencies de reevaluación también.

Si hace stringBinding(a, b) { "${a.value} ${b.value}" } , ha creado un enlace de cadena que se actualizará cada vez que cambie b . Dado que this es a en el ejemplo anterior, también podría haber escrito en stringBinding(a, b) { "${this.value} ${b.value}" } pero no creo que eso lo aclare más 🙂

La razón por la que decidimos hacer el primer elemento this se hace más evidente con el siguiente ejemplo:

val sizeDescription = bind(items) { "$size elements in list" }

Aquí no necesita volver a hacer reference a los items para get su propiedad de size .

  • Kotlin y TornadoFX: ¿une una propiedad observable a una function de recostackción?
  • preguntas sobre DI, ViewModel, etc.
  • Enlazando una vista a una propiedad de controller cambiante
  • Context de reinicio de JavaFX
  • Cómo mostrar datos usando la vista de tree de TornadoFX
  • java.lang.NoSuchMethodException cuando intenta ejecutar la aplicación TornadoFX
  • No se puede usar fontawesomefx con kotlin y tornadofx
  • ¿Cómo puedo crear un encabezado de columna nested / dividido usando TornadoFx?
  • Forma de configurar las properties de PrimaryStage o Scene en TornadoFX
  • Cómo implementar TornadoFX WebEngine Callback en Kotlin
  • Cómo configurar una aplicación Gluon con Kotlin y Tornado FX