我有一个 ScrollPane 的问题。我想禁用平移。对于鼠标来说,由于 setPannaable(boolean) 函数,这非常容易。但这不会禁用触摸事件的平移。那么有没有办法在 ScrollPane 中禁用触摸事件的平移?
谢谢你的帮助。
我有一个 ScrollPane 的问题。我想禁用平移。对于鼠标来说,由于 setPannaable(boolean) 函数,这非常容易。但这不会禁用触摸事件的平移。那么有没有办法在 ScrollPane 中禁用触摸事件的平移?
谢谢你的帮助。
我现在有一个可行的解决方案。在控件中,您不想在 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 是一个简单的切换按钮。应该与任何其他控件一起使用。
您是否尝试过为您的 ScrollPane 实现与触摸事件相关的 setOnTouch...() 方法?如果您使用该事件,则触摸手势将不起作用。
例子 :
ScrollPane sp = new ScrollPane();
sp.addEventHandler(TouchEvent.ANY, new EventHandler<TouchEvent>() {
@Override
public void handle(TouchEvent event) {
event.consume();
}
});
希望我帮助了你