【发布时间】:2011-07-15 11:31:49
【问题描述】:
在我基于 SWT 的应用程序中,我有一个 Canvas 派生的自定义小部件,它显示了一堆“项目”。这些项目的全部目的是让用户将它们拖出小部件。我毫不费力地实现了 DragSource、DragDetectListener 和所有使 DND 工作的东西。我要解决的问题是我希望比默认平台行为更早地检测到拖动,即在更短的鼠标拖动距离之后。
我知道我可以覆盖 Widget 类的 dragDetect()。然而,这只允许我否决超类的实现,而不是通知在超类认为它已经发生之前已经发生了拖动。
基本上,如果我可以自己生成拖动事件,例如我可以使用 Widget.postEvent(SWT.DragDetect, eventWhichIAllocatedAndFilledOut) (这是包私有的),那似乎是我的解决方案。我查看了 Widget 中的拖动检测代码,它似乎不是为这个用例设计的。是否有解决方法让我可以随时启动拖动?
【问题讨论】:
标签: java drag-and-drop swt