Javafx 2 JavaFXScrollPane:禁用触摸事件的平移

Javafx 2 JavaFXScrollPane:禁用触摸事件的平移,javafx-2,javafx,pan,panning,scrollpane,Javafx 2,Javafx,Pan,Panning,Scrollpane,我的滚动窗格有问题。我想禁用平移。对于鼠标来说,由于setPannable(布尔)函数,这非常容易。但这并没有禁用触摸事件的平移。有没有办法在滚动窗格中禁用触摸事件的平移 感谢您的帮助。您是否尝试为您的滚动窗格实现与触摸事件相关联的setOnTouch…()方法? 如果您使用该事件,则触摸手势将不会产生任何效果 例如: ScrollPane sp = new ScrollPane(); sp.addEventHandler(TouchEvent.ANY, new EventHan

我的滚动窗格有问题。我想禁用平移。对于鼠标来说,由于setPannable(布尔)函数,这非常容易。但这并没有禁用触摸事件的平移。有没有办法在滚动窗格中禁用触摸事件的平移


感谢您的帮助。

您是否尝试为您的滚动窗格实现与触摸事件相关联的setOnTouch…()方法? 如果您使用该事件,则触摸手势将不会产生任何效果

例如:

    ScrollPane sp = new ScrollPane();
    sp.addEventHandler(TouchEvent.ANY, new EventHandler<TouchEvent>() {
        @Override
        public void handle(TouchEvent event) {
            event.consume();                
        }
    });
ScrollPane sp=new ScrollPane();
sp.addEventHandler(TouchEvent.ANY,新的EventHandler()){
@凌驾
公共无效句柄(TouchEvent事件){
event.consume();
}
});

希望我能帮助您

我现在有了一个有效的解决方案。在控件中,您不希望在拖动操作期间滚动滚动滚动窗格,请添加以下筛选器

// 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是一个简单的切换按钮。应与任何其他控件一起使用

我试过你的解决方案,但不起作用。无论如何,谢谢你的尝试。对不起,我帮不上忙,我的答案不是很清楚,所以我添加了一个小例子。你试过这个吗?