繁体   English   中英

如何检测ScrollPane何时完成滚动

[英]How to detect when ScrollPane finishes scrolling

我想检测ScrollPane何时完成我的应用程序中的滚动,以在移动时禁用一些触发器,而不是使UI更加整洁。 我找到了它何时移动的触发器,但是找不到触发器或确定它何时停止的方法

scrollPane.vvalueProperty().addListener(new ChangeListener<Number>() {
          @Override
          public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
              if (oldValue!=newValue) {
                  isScrolling = true;
              } else {
                  isScrolling = false;
              }
          }
        }); 

您需要使用外部Timer或javafx.animation.Timeline进行此操作。 如果要更改UI,请使用时间轴。

将一个标记(例如lastScrollSeen为日期时间,并在首次获取滚动事件时触发该计时器。 每次遇到另一个滚动事件时,都要更新lastScrollSeen ,并定期(使用计时器/时间轴)查看是否经过了足够的时间而没有其他滚动事件,以使用户感到满意,从而完成了滚动。

此时,您要进行工作以禁用触发器并清除标志和计时器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM