Когда вы вызываете ListView#getSelectionModel()
, вы получаете объект, который является экземпляром SelectionModel
, точнее, экземпляром MultipleSelectionModel
. Поскольку теперь у вас есть экземпляр MultipleSelectionModel
, вы можете вызывать методы, присутствующие в этом классе, включая унаследованные методы. Это означает, что вы можете делать следующее:
listView.getSelectionModel().selectedItemProperty().addListener(yourChangeListener);
Что эквивалентно следующему:
MultipleSelectionModel<T> sModel = listView.getSelectionModel();
ReadOnlyObjectProperty<T> selectedItemProp = sModel.selectedItemProperty();
selectedItemProp.addListener(yourChangeListener);
Как видите, вы используете класс каждого задействованного объекта. Первый, известный как метод цепочки, является просто сокращением.