JavaFX8 禁用 ScrollPane 的滚动

JavaFX8 Disable Scrolling of ScrollPane

我想知道是否有办法 disable/prevent 在 ScrollPane 中滚动?

基本上我有一个 Canvas 包裹在一个组对象中以启用缩放(由 'Ctrl + scroll' 完成)。尽管出于某种原因,ScrollPane 在触发任何其他 scrollEvent(例如来自 Canvas、组、ScrollPane 甚至 ScrollPane 的父级的 ScrollEvent!)之前消耗事件(如果它可以滚动)。

所以我想知道有哪些选项(如果有的话)可以在 ScrollPane 消耗滚动事件之前捕获它。

感谢您的宝贵时间

感谢 joshpy 我得到了答案。

我忘了 EventFilters 是 javafx 中的东西。幸运的是,您也可以在 eventFilter 中使用 Event,所以这里是解决方案。

scrollPane.addEventFilter(ScrollEvent.SCROLL, event -> {
   if(event.isControlDown())
   {
      zoomCanvas(event) // zoom the canvas instead of scrolling the actual pane.
      event.consume();
   }
});

非常感谢您的提示! 虽然我仍然不确定为什么通常的事件不起作用。