La réponse acceptée est correcte. Je fournirai un aperçu supplémentaire pour le bénéfice des lecteurs intéressés.
ObservableList
est une interface et en tant que telle ne tient pas une propriété size
. ListExpression
est une classe abstraite et la mise en œuvre ObservableList
ajoutant ReadOnlyIntegerProperty size
et ReadOnlyBooleanProperty empty
propriétés. Cette classe est la classe de base d'un arbre d'héritage entier de classes de propriétés de liste.
La plupart des utilisateurs ne voudront pas sous-classe les classes abstraites dans l'arbre eux-mêmes, donc nous allons examiner la mise en œuvre concrète fourni:
ListExpression (abstract)
- ReadOnlyListProperty (abstract)
- ListProperty (abstract)
- ListPropertyBase (abstract)
- SimpleListProperty
- ReadOnlyListWrapper
SimpleListProperty
est, comme son nom l'indique, un simple propriété de liste - un ObservableList
enveloppé dans un Property
. C'est le parallèle de l'autre SimpleXxxProperty
s. Il a également une sous-classe ReadOnlyListWrapper
pour gérer les exigences de lecture seule et de lecture-écriture. Il peut être construit à partir d'un ObservableList
:
SimpleListProperty<String> list = new SimpleListProperty<>(FXCollections.observableArrayList());
IntegerProperty intProperty = new SimpleIntegerProperty();
intProperty.bind(list.sizeProperty());
Les utilisateurs qui ont besoin des avantages de cette classe (plus juste en utilisant ObservableList
) et décident de l'utiliser ne pas besoin de l'approche Bindings#size
statique.
Bonne réponse !! La première fois que j'ai vu 'ListExpression' https://docs.oracle.com/javase/8/javafx/api/javafx/beans/binding/ListExpression.html – GOXR3PLUS
@ GOXR3PLUS Vous ne verrez probablement jamais" ListExpression "dans le code puisqu'il est niveau très bas et peu auront besoin de l'utiliser directement. 'SimpleListProperty' et' ReadOnlyListWrapper', d'un autre côté, sont très utiles, prêts à l'emploi. – user1803551
Déjà ajouté dans le code :). J'ai besoin de lier la valeur maximale d'un ScrollBar à la taille d'une 'Observable List - 1' – GOXR3PLUS