Codenameone 如何在组件派生中不处理指针事件

Codenameone 如何在组件派生中不处理指针事件,codenameone,Codenameone,我想要一个容器实例来处理指针事件。但是,当我开始将组件放置在此容器中时,即使我在这些组件(如Label实例)上设置了setIgnorePointerEvents(true),这些组件也会窃取指针事件 我假设不可能创建不处理指针事件的组件派生。这是正确的还是如何做到的 另外,将指针事件委托给其父容器似乎是一个坏主意,因为这样会导致递归 是否有处理指针事件的最佳实践?将容器设置为可聚焦,或者只需在容器顶部以分层布局放置一个不可见的可聚焦组件,然后捕获其中的所有事件。然后,您可以通过手动调用组件上的指

我想要一个容器实例来处理指针事件。但是,当我开始将组件放置在此容器中时,即使我在这些组件(如Label实例)上设置了setIgnorePointerEvents(true),这些组件也会窃取指针事件

我假设不可能创建不处理指针事件的组件派生。这是正确的还是如何做到的

另外,将指针事件委托给其父容器似乎是一个坏主意,因为这样会导致递归


是否有处理指针事件的最佳实践?

将容器设置为可聚焦,或者只需在容器顶部以分层布局放置一个不可见的可聚焦组件,然后捕获其中的所有事件。然后,您可以通过手动调用组件上的指针事件来决定谁接收事件。

如果您解释您的用例,您的问题可能会更清楚。然而。。。我猜您需要像
容器
加上处理所有指针事件的
引线组件
这样的东西。这是可能和容易的。文档就在这里:我想创建一个容器元素的“列表”,它将通过拖放、插入和删除元素、点击元素来处理手动排序——所有这些都将在容器元素中的任意组件多次重复使用。因此,我希望容器元素处理大多数指针事件。问题是——如何不在组件派生中处理指针事件?为了将这些指针事件留给父容器,我可以这样做。但这并不能回答问题。有没有一种方法可以不处理组件派生中的指针事件?如果组件决定是否处理指针事件而不是它的容器,这不是更好吗?因此我可以考虑组件及其容器应该对相同的指针事件做出反应的用例,例如拖动。理想的做法是,只有在拖动位置与点击位置相差某个阈值之后,才决定垂直拖动还是水平拖动,如果组件及其容器都处理相同的拖动事件,则最好是在拖动位置与点击位置相差某个阈值之前。我认为这适用于在不同轴上滚动的嵌套容器。我希望这也适用于我的自定义组件。我认为这应该适用于诸如开箱即用开关之类的组件。@StefanEder在pointerPressedListener、PointerDraggedListener和PointerReleasedListener中使用evt.consume如何?使用指针事件可以防止它传播到child组件。