Events 可以接收容器中已压缩但未压缩的指针

Events 可以接收容器中已压缩但未压缩的指针,events,event-handling,swipe,codenameone,Events,Event Handling,Swipe,Codenameone,我在Codenameone中有一个UI,其中一个容器包含另一个包含一些小部件的容器。在底层容器中,我可以接收PointerDraged事件,但不能接收pointerPressed事件。这些(pointerPressed)似乎被层次结构顶部的小部件使用,但不会向下移动到底部容器 我怎样才能解决这个问题 我想这样做是为了检测底部容器上的左右滑动。是否有更好的方法可以做到这一点?只有可聚焦组件直接以代码名1接收事件,否则我们将不得不向多个组件发送事件,这可能会抑制性能 最好的方法是使用现有组件,例如,

我在Codenameone中有一个UI,其中一个容器包含另一个包含一些小部件的容器。在底层容器中,我可以接收PointerDraged事件,但不能接收pointerPressed事件。这些(pointerPressed)似乎被层次结构顶部的小部件使用,但不会向下移动到底部容器

我怎样才能解决这个问题


我想这样做是为了检测底部容器上的左右滑动。是否有更好的方法可以做到这一点?

只有可聚焦组件直接以代码名1接收事件,否则我们将不得不向多个组件发送事件,这可能会抑制性能

最好的方法是使用现有组件,例如,
Tabs
支持滑动和隐藏选项卡,以便您可以直接使用

使
容器
可聚焦可能不那么理想(尽管可能),因为它可能会使与容器中的组件的交互变得困难


您可以在父窗体上使用指针侦听器,就像
选项卡
组件在内部所做的那样。这应该总是有效的,因为表单获取所有事件:

如果决定因素是组件是否可聚焦,为什么PointerDraged和pointerPressed事件会有不同的行为?主要原因是历史性的,但通常当您在单个位置按下/释放时(例如,按钮单击等)但当你拖动时,你会穿过组件。我可以讨论很多与此相关的复杂行为,但通常情况下,拖动最好在表单上或通过其侦听器实现。