У меня есть ListView
с прослушивателем щелчков. Я хочу добавить нового слушателя при наведении. Я закодировал этого нового слушателя с помощью CellFactory
(код ниже). Только с этим кодом мой ListView
(<String>
) показывает элементы без текста, но оба слушателя работают нормально (щелчок слушателя работает в любом случае) и элементы выбираются правильно.
Код CellFactory
в Controller
initialize()
:
myListView.setCellFactory(lv -> {
ListCell<String> cell = new ListCell<String>() {};
cell.hoverProperty().addListener((obs, wasHovered, isNowHovered) -> {
if(isNowHovered) {
handleCellHover(cell);
} else {
handleCellHoverEnd();
}
});
return cell;
});
Код добавления элементов:
// ...
ObservableList<String> data = FXCollections.observableArrayList(data); //data is List<String>
listView.setItems(data);