2013-07-24 3 views
0

ScrollPane에 문제가 있습니다. 패닝 기능을 해제하고 싶습니다. 마우스의 경우 setPannable (boolean) 함수로 인해 매우 쉽습니다. 하지만 이는 터치 이벤트에 대한 패닝을 비활성화하지 않습니다. ScrollPane에서 터치 이벤트 패닝을 사용하지 않도록 설정하는 방법이 있습니까?JavaFX ScrollPane : 터치 이벤트 패닝 사용 안 함

도움 주셔서 감사합니다.

답변

0

ScrollPane의 터치 이벤트와 관련된 setOnTouch ...() 메소드를 구현하려 했습니까? 이벤트를 사용하는 경우 제스처를 터치해도 효과가 없습니다.

예 :

ScrollPane sp = new ScrollPane(); 
    sp.addEventHandler(TouchEvent.ANY, new EventHandler<TouchEvent>() { 
     @Override 
     public void handle(TouchEvent event) { 
      event.consume();     
     } 
    }); 

희망은 내가 지금 작업 솔루션을 가지고 당신에게

+0

해결책을 시도했지만 작동하지 않습니다. 어쨌든 당신의 시도에 감사드립니다. –

+0

죄송합니다. 도움이되지 못했습니다. 제 대답이 명확하지 않아 약간의 예가 추가되었습니다. 이거 해봤 니? – Marc

0

을 도왔다. 컨트롤에서 DRAG 작업 중에 스크롤 패널의 스크롤을 원하지 않으면 다음 필터를 추가하십시오.

// Filter all SCROLL Events, otherwise the parent scroll pane will pan, 
// somehow is this workaround 

button2.addEventFilter(InputEvent.ANY, (event)-> { 
    if (event.getEventType().toString() == "SCROLL") 
     event.consume(); 
}); 

button2는 간단한 ToggleButton입니다. 다른 컨트롤과 함께 작동해야합니다.

관련 문제