将Long属性绑定到具有替换值的String

时间:2017-08-31 19:51:19

标签: javafx javafx-8

我已使用Long Property绑定了Text属性

 text.textProperty().bind(newValue.referenceNumberProperty().asString());

有一种简单的方法可以将值< = 0替换为空字符串?我知道asString()方法可以采用参数,但我不知道如何使用它。你可以帮帮我吗 ?

1 个答案:

答案 0 :(得分:2)

asString方法的参数的使用而言:它的含义在the javadoc for Formatter中解释

单独使用asString方法无法达到预期效果。您可以通过绑定到

来解决您的问题
Bindings.when(newValue.referenceNumberProperty().greaterThan(0))
        .then(newValue.referenceNumberProperty().asString())
        .otherwise("")

Bindings.createStringBinding(() -> {
   long val = newValue.getReferenceNumber();
   return val > 0 ? Long.toString(val) : "";
}, newValue.referenceNumberProperty())

虽然。