Нельзя привести ObjectBinding<BigDecimal>
к ObjectProperty<BigDecimal>
, поскольку используемый в этом случае класс привязки не расширяет ObjectProperty
. Вы можете связать SimpleObjectProperty<BigDecimal>
с ObjectBinding<BigDecimal>
жестким.
Кстати: обратите внимание, что поле volumeDouble
в вашем фрагменте кода назначается во время создания привязки и никогда не обновляется в зависимости от тома, даже если свойство volume
изменяется позже.
final ObjectProperty<BigDecimal> sell = new SimpleObjectProperty<>();
ObjectBinding<BigDecimal> binding = Bindings.createObjectBinding(new Callable<BigDecimal>() {
@Override
public BigDecimal call() {
return (operation.get() == Operation.SELL) ? volume.get() : BigDecimal.ZERO;
}
}, volume, operation);
sell.bind(binding);