2017-08-31 3 views
0

J'ai binded une propriété Text avec Long propriétéReliure propriété à long chaîne avec la valeur de remplacement

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

Il est simplement moyen de remplacer les valeurs < = 0 à la chaîne vide?. Je sais que la méthode asString() peut prendre un paramètre mais je ne sais pas comment l'utiliser. Pourriez-vous m'aider ?

Répondre

2

En ce qui concerne l'utilisation du paramètre de la méthode asString concerne: sa signification est expliqué dans the javadoc for Formatter

Il n'y a aucun moyen d'obtenir l'effet désiré en utilisant une méthode asString seul. Vous pouvez résoudre votre problème en se liant à

Bindings.when(newValue.referenceNumberProperty().greaterThan(0)) 
     .then(newValue.referenceNumberProperty().asString()) 
     .otherwise("") 

ou

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

bien.

+0

super. Je vous remercie. ça aide vraiment – VANILKA