滚动鼠标滚轮时,不会调用`TextArea.setOnScroll`吗?

时间:2014-05-10 13:07:31

标签: scroll javafx mouseevent

我有一个TextArea,并且已经设置了滚动事件的处理程序:

myTextarea.setOnScroll((event) -> {
     System.out.println("setOnScroll: " + event);
});

但我发现textarea中的文字非常长,如果我把鼠标放在它上面并滚动鼠标滚轮,它就不会打印事件!

只有当文字到达结尾时,它才会开始显示事件。

我也尝试了setOnScrollStartedsetOnScrollFinished,同样的情况发生了。

如何捕获JavaFX中的每个滚动事件?

1 个答案:

答案 0 :(得分:3)

最后我找到了解决方案:

myTextarea.addEventFilter(ScrollEvent.ANY, (x) -> {
    System.out.println("scrolled");
});

使用方法addEventFilter似乎有点奇怪,但它有效。