Aha! Yeah, there are objectBinding or even stringBinding functions that takes an arbitrary number of observables and calculates a new value. Whenever any of the dependencies change, the binding is calculated. Such a binding can be bound to a textProperty easily.