Здравствуйте! Вот код
ScrollPane sp = new ScrollPane();
sp.setOnMousePressed(event -> {
System.out.println("pressed");
});
sp.setOnMouseDragged(event -> {
System.out.println("dragged");
});
Но почему-то это не работает, ничего не происходит при нажатии по ScrollPane. Что не так?
Попробуйте вариант с ананимным классом:
ScrollPane sp = new ScrollPane();
sp.setOnMousePressed(new EventHandler() {
public void handle (Event event) {
System.out.println("X: " + ((MouseEvent) event).getX() + " Y: " + (MouseEvent) event).getY());
}
});
А лучше всего имплементируйтесь от интерфейса EventHandler и реализуйте его метод handle и в нем пишите что вам надо, а при вызове метода
sp.setOnMousePressed(this) просто укажите конструктору ключевое слово this.
Всё сработает, если добавлять слушатели не к самому ScrollPane, а к его контенту, т.е. вот:
ScrollPane sp = new ScrollPane();
Node content = sp.getContent();
content.setOnMousePressed(event -> {
//Ваши действия
});
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости