2016-06-29 3 views
1

У меня есть ListView с элементами в нем, и для перехода на следующую страницу пользователь должен выбрать элемент, потому что следующая страница касается изменения выбранного элемента.Как определить, выбрал ли пользователь элемент в ListView?

Чтобы перейти на следующую страницу, пользователь нажмет кнопку «Далее». По умолчанию у меня это выделено серым цветом, но я хочу, чтобы он был не серым, как только пользователь нажимает на элемент в ListView.

На данный момент он у меня установлен на onMouseClick, который не является очень эффективным, так как это активизирует буквально всякий раз, когда ListViewузел щелкают, а не когда элемент есть.

Как бы это решить?

ответ

3

Вы можете проверить original tutorial, раздел «Обработка выбора элемента списка» (пример 11-5).

listView.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> { 
    // newVal contains the selected item 
}); 

Также вы можете связать disableProperty в Button к selectedItemProperty модели выбора из ListView условно:

nextButton.disableProperty().bind(listView.getSelectionModel().selectedItemProperty().isNull());