【问题标题】:JavaFX8 Disable Scrolling of ScrollPaneJavaFX8 禁用 ScrollPane 的滚动
【发布时间】:2016-07-29 09:35:13
【问题描述】:

我想知道是否有办法在 ScrollPane 中禁用/防止滚动?

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

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

感谢您的宝贵时间

【问题讨论】:

标签: java javafx java-8 javafx-8 scrollpane


【解决方案1】:

感谢 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();
   }
});

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-01
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多