Events 滚动条事件中的旧值

Events 滚动条事件中的旧值,events,javafx,scrollbar,Events,Javafx,Scrollbar,我有一个垂直滚动条。当它调整大小时,会触发一个事件,该事件检查它是否为100%或更高,以隐藏它,而不是获取新的大小值,只获取旧的大小值。可见性可以更改,但大小不变: scrollBarL.heightProperty().addListener((ObservableValue<? extends Number> ov, Number old_val, Number new

我有一个垂直滚动条。当它调整大小时,会触发一个事件,该事件检查它是否为100%或更高,以隐藏它,而不是获取新的大小值,只获取旧的大小值。可见性可以更改,但大小不变:

scrollBarL.heightProperty().addListener((ObservableValue<? extends Number> ov,
                                                        Number old_val, Number new_val) -> {    

if (scrollBarL.getVisibleAmount() >= 1 ) {              
           scrollBarL.setMaxWidth(0);    // Not change width immediately
           scrollBarL.setPrefWidth(0);   // Not change width immediately
           scrollBarL.setMinWidth(0);    // Not change width immediately             
           scrollBarL.setVisible(false); // OK. Change visibility immediately
   } else {           
           scrollBarL.setMaxWidth(19);   // Not change width immediately
           scrollBarL.setPrefWidth(19);  // Not change width immediately
           scrollBarL.setMinWidth(19);   // Not change width immediately
           scrollBarL.setVisible(true);  // OK. Change visibility immediately
        }
    });           

scrollBarL.heightProperty().addListener((ObservableValue)高度属性上的更改侦听器可能是在重新计算可见量之前触发的。为什么不直接使用
VisibleMount
属性注册侦听器?(听起来有点像你试图重现滚动窗格的功能。你能只用滚动窗格吗?)正确。使用visibleAmountProperty可以正常工作,但滚动条在我用鼠标越过滚动条容器之前一直可见/不可见,为什么?@OundRonings对我来说很好。创建一个,并将您的问题包括在内。可见性是正确的,但不影响大小的更改。为什么?