2016-07-23 5 views

답변

2

ScrollPanevmaxProperty을 설정할 수 있습니다.

이 ScrollPane의 최대 허용 값입니다. 기본값은 ScrollPane의 스크롤이 다시 조절되는이 속성을 설정하여 1

을, 그래서 스크롤의 가장 아래 위치는 실제로 지정된 값입니다.

이 수직 공간의 40 %의 수는 스크롤 할 :

scrollPane.setVmax(0.4); 

또 다른 possiblity가ScrollPanevvalueProperty 재산을 듣고에 의해 아래로 스크롤 방해하는 것입니다.

ScrollPane의 스크롤 막대가 정의 된 값으로 중지되므로 맨 아래 위치는 여전히 100 %입니다.

final double maxDownScroll = 0.4; 
scrollPane.vvalueProperty().addListener((obs, oldVal, newVal) -> { 
    if ((double) newVal > maxDownScroll) 
     scrollPane.setVvalue(maxDownScroll); 
}); 

참고 : 두 가지 접근법은 ScrollEvent이 경우에만 해고 (마우스로 스크롤의 경우에도 스크롤바를 이동하는 경우에는 일을하고 같은 ScrollPaneScrollEvent에 필터를 추가하는 것보다 더 일반적인 것입니다 마우스 휠, 압정 패드 또는 유사한 장치가 사용됨).

+0

덕분에, 다른 가능성은 내가 필요로하는 것입니다. 그리고 메모를 주셔서 감사합니다. – Curious

1

정상적으로 해결되었습니다. 코드 :

scrollPane.addEventFilter(ScrollEvent.SCROLL, new EventHandler<ScrollEvent>() { 
       @Override 
       public void handle(ScrollEvent event) { 
        //"0.4 is my the specific value" 
        if(scrollPane.getVvalue() > 0.4) { 
         if (event.getDeltaY() < 0) { 
          event.consume(); 
         } 
        } 
      } 
     }); 
관련 문제