提问人:Ondřej Ryška 提问时间:10/10/2023 最后编辑:Ondřej Ryška 更新时间:10/13/2023 访问量:70
免打扰后 NatTable 光标切换到选择模式
NatTable cursor switch into selection mode after DND
问:
我有 natable with grid。我引入了自己的拖动侦听器,它实现了.
免打扰效果很好 - 可以将一些项目拖放到某个项目组中。当 is drop 执行对 drop 无效的上述项目时,没有任何反应。DragSourceListener
但问题是,在有效或无效的拖放之后,光标切换到某种“选择模式”。因此,鼠标上的两个按钮都没有按下,但是当我将光标移动到单元格上方时,会突出显示矩形,该矩形由执行放置(释放鼠标左键)的单元格和实际光标位置定义。简单地说,这种行为与通过按下鼠标左键移动光标来多选单元格相同。这种奇怪的行为可能通过单击某些单元格来终止。然后,将光标移动到单元格上方,没有任何作用,并保留突出显示的选定区域,该区域通过另一次鼠标单击取消。 当拖动被ESC键取消时,因此不执行drop,则不会发生此问题。
摘要 - 在拖动过程中释放左键后,光标仍处于某种类似选择模式,但不会按下鼠标按钮。
掉落后需要打电话吗?针对此问题的原因,有一些提示?
答:
我最好的猜测是拖动项目的交互是混淆的,因为您实现了一个基本 SWT,并且 NatTable 中有拖动侦听器。DragSourceListener
通常,NatTable 中的交互侦听器应通过 NatTable API 实现。由于您只想在单个 NatTable 实例中处理拖放支持,因此您应该实现并注册类似于 例如。这样一来,您就可以完全控制 NatTable 内部发生的事情,并且不需要将 SWT 拖放与 NatTable UI 绑定结合使用。IDragMode
ColumnReorderDragMode
评论
上一个:鼠标悬停事件出现故障
评论