防止JavaFX TabPane在刷卡时切换选项卡

防止JavaFX TabPane在刷卡时切换选项卡,javafx,tabs,swipe,touchscreen,Javafx,Tabs,Swipe,Touchscreen,当我使用带有触摸屏的选项卡窗格时,当我向左或向右滑动时,选项卡会切换,这是我想要防止的 我通过使用子窗格上的滑动事件修复了部分问题,但是当我在显示选项卡的区域中滑动时,选项卡仍然会切换 我尝试使用TabPane生成的事件,例如滑动和滚动事件,但选项卡仍在切换。如何防止这种情况发生?我添加了相同的问题。我解决了将以下过滤器添加到选项卡窗格的问题: tabPane.addEventFilter(SwipeEvent.ANY, new EventHandler<SwipeEvent>

当我使用带有触摸屏的选项卡窗格时,当我向左或向右滑动时,选项卡会切换,这是我想要防止的

我通过使用子窗格上的滑动事件修复了部分问题,但是当我在显示选项卡的区域中滑动时,选项卡仍然会切换


我尝试使用TabPane生成的事件,例如滑动和滚动事件,但选项卡仍在切换。如何防止这种情况发生?

我添加了相同的问题。我解决了将以下过滤器添加到选项卡窗格的问题:

   tabPane.addEventFilter(SwipeEvent.ANY, new EventHandler<SwipeEvent>() {

        @Override
        public void handle(SwipeEvent event) {
            event.consume();
        }
    });
tabPane.addEventFilter(SwipeEvent.ANY,neweventhandler()){
@凌驾
公共无效句柄(SwipeEvent事件){
event.consume();
}
});

查看答案是否有帮助。我尝试使选项卡窗格不可遍历焦点,但在滑动时它仍能获得焦点。(您提到的答案更多的是让滚动条获得焦点,而不是禁用选项卡切换行为)我遵循了您的建议,结果发现刷卡事件的目标是一个未识别的StackPane(我假设TabPane的某些内部组件)。消费这些事件似乎可以奏效。唯一的问题是,我现在只检查事件目标的类型,我不知道如何确保StackPane实际上属于TabPane。但现在它起作用了!可能会帮助您查看
StackPane