在我的基於SWT的應用程序中,我有一個Canvas派生的自定義小部件,它顯示了一堆「項目」。這些項目的全部目的是讓用戶將它們拖出小部件。我沒有執行DragSource,DragDetectListener和所有這些東西來讓DND工作。我試圖解決的問題是我想要更早地檢測拖拽,即在比默認平臺行爲短得多的鼠標拖拽距離之後。SWT小部件中的自定義拖動檢測
我知道我可以覆蓋Widget類的dragDetect()。但是,這隻允許我否決超級類的實現,而不是通知在超級類認爲它已經發生之前已經發生了拖動。
基本上,如果我可以自己生成拖動事件,就像我可以使用Widget.postEvent(SWT.DragDetect,eventWhichIAllocatedAndFilledOut)(它是私有包)一樣,那看起來就像我的解決方案。我已經查看了Widget中拖動檢測的代碼,並且它似乎並未針對此用例進行設計。有沒有什麼工作讓我隨時啓動拖動?