我有一个TextArea,并且已经设置了滚动事件的处理程序:
myTextarea.setOnScroll((event) -> {
System.out.println("setOnScroll: " + event);
});
但我发现textarea中的文字非常长,如果我把鼠标放在它上面并滚动鼠标滚轮,它就不会打印事件!
只有当文字到达结尾时,它才会开始显示事件。
我也尝试了setOnScrollStarted
和setOnScrollFinished
,同样的情况发生了。
如何捕获JavaFX中的每个滚动事件?
答案 0 :(得分:3)
最后我找到了解决方案:
myTextarea.addEventFilter(ScrollEvent.ANY, (x) -> {
System.out.println("scrolled");
});
使用方法addEventFilter
似乎有点奇怪,但它有效。