De Javadoc pour bind()
:
Notez que JavaFX a mis en œuvre tous les appels de liaison par le biais d'appels faibles. faibles. Cela signifie que la propriété liée peut faire l'objet d'un garbage collector et empêchée d'être mise à jour.
Considérons maintenant que j'ai deux propriétés ObjectProperty<Foo> shortLived
résidant à ShortLivedObject
y ObjectProperty<Foo> longLived
résidant à LongLivedObject
.
Je les lie comme ça :
longLivedObject.longLivedProperty().bind(shortLivedObject.shortLivedProperty());
Parce que la liaison utilise un écouteur faible, donc si shortLivedObject
est collecté par les ordures, shortLived
sera également récupérée. Alors, cela signifie-t-il que longLived
est toujours lié, mais il ne sera jamais mis à jour ? Est-ce que cela laisse longLived
dans un état lié (rendant impossible toute autre liaison), mais ne fait rien ?