JavaFX TableView 不向父级冒泡事件

JavaFX TableView not Bubbling Events to Parent

上下文: 不确定这是错误还是功能,但我正在为一个具有自动锁定功能的 JavaFX 应用程序做贡献,如果在一定时间内没有 activity,该功能就会启动。但是,如果 activity 出现在 JavaFX TableView widget/control 的范围内,所有 input/mouse activity,无论是移动、选择还是单击,未被检测为 activity(以重置侦听 activity 的计时器),因此自动锁定功能会向用户发出警告并随后锁定,即使他们一直在执行 activity 在应用程序的 TableView 中。

询价: 有谁知道这是否是一个可以切换 on/off 的 "feature",这样父控件就可以知道子 TableView 中的 activity?或者是否需要手动连接一个事件处理程序,专门用于 将 TableView 中的任何输入事件冒泡到父级 control/container?

使用capturing rather than bubbling. You can do this in JavaFX using event filters,可以在舞台或场景或单个节点上设置(以最适合您的要求为准)。

对于您似乎需要的功能(应用程序输入不活动监视器),在阶段或场景级别捕获似乎比冒泡更合适。在冒泡阶段(按设计)事件可以是 consumed,因此更高级别的冒泡侦听器不会接收到它们。但是,您可以在捕获阶段拦截相同的事件,以便在它们被消耗之前对其采取行动。