У меня есть TableView:JavaFX как добавить ChangeListener к автоматической прокрутки TableView
@FXML
private TableView<ThreadInfo> threadsTable;
Класс ThreadInfo:
public class ThreadInfo {
private StringProperty threadFrom;
private StringProperty threadDate;
private StringProperty threadStatus;
private StringProperty threadTo;
// getters, setters
}
Я пытаюсь добавить ChangeListener в автоматический режим прокрутки TableView вниз каждый раз, когда новый ThreadInfo объект добавлен в мой TableView. То, что я пробовал:
threadsTable.getItems().addListener(
new ListChangeListener<ThreadInfo>() {
@Override
public void onChanged(
javafx.collections.ListChangeListener.Change<? extends ThreadInfo> arg0) {
threadsTable.scrollTo(threadsTable.getItems().size());
}
});
У него нет ошибок компиляции, но не работает. Я также пробовал с ChangeListener, но я получаю: метод addListener (ListChangeListener) в типе ObservableList не применим для аргументов (новый ChangeListener() {}).
Это отлично работает для меня. Можете ли вы создать [MCVE] (http://stackoverflow.com/help/mcve), который реплицирует проблему? –
Спасибо, это огромный проект. Трудно получить больше, чем я разместил :) Это работает и для меня, но только когда я прокручиваю таблицу вручную. Без моего действия это не сработает. У меня также есть второй способ, но работает же для меня:. \t threadsTable.accessibleRoleProperty() AddListener ( \t \t \t \t новый ChangeListener
Не публикуйте свой проект. Создайте пример с нуля, который реплицирует проблему. –