【问题标题】:Prevent JavaFX TabPane from switching tabs on swipe防止 JavaFX TabPane 在滑动时切换选项卡
【发布时间】:2018-05-14 12:15:51
【问题描述】:

当我使用带有触摸屏的 TabPane 时,当我向左或向右滑动时选项卡会切换,我想防止这种情况发生。

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

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

【问题讨论】:

  • 看看this回答是否有帮助。
  • 我尝试让 TabPane 不能焦点遍历,但是当我滑动时它仍然获得焦点。 (您指的答案更多是让滚动条获得焦点,而不是禁用选项卡切换行为)
  • stackoverflow.com/questions/22257729/… EventFilter 到你的Scene。使用System.out.println(event.getEventType()); 找出正在触发的事件。相应地处理事件。
  • 我听从了你的建议,结果发现滑动事件是针对一个身份不明的 StackPane(我假设 TabPane 的一些内部组件)。消费这些事件似乎可以解决问题。唯一的问题是我现在只检查事件目标的类型,我看不出如何确定 StackPane 实际上属于 TabPane。但现在它可以工作了!
  • ScenicView 可能会帮助您了解StackPane

标签: javafx tabs swipe touchscreen


【解决方案1】:

我添加了同样的问题。我解决了将以下过滤器添加到 tabPane 的问题:

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

        @Override
        public void handle(SwipeEvent event) {
            event.consume();
        }
    });

【讨论】:

    猜你喜欢
    • 2017-07-04
    • 2013-10-02
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2013-01-02
    • 1970-01-01
    • 2016-09-14
    相关资源
    最近更新 更多