2012-11-19 54 views
1

我認爲這對JavaFX來說應該很容易 - 所以我必須在某處忽略這一點。我有一個簡單的從工具欄拖放到一個AnchorPane,它可以很好地工作,但是我試圖找出到底發生了什麼地方,以找出在已經存在的一組節點中插入新項目的位置。事件對象DragEvent告訴你目標對象,但不是它相對於目標被丟棄的地方(僅相對於源)。我嘗試只聽目標上的所有鼠標釋放事件,但不會觸發拖動到對象上。任何人都知道這應該怎麼做?獲取拖放手勢的位置

邁克·瓦

回答

1

您可以使用getSceneX/Y方法來獲取滴的位置的絕對座標或監聽到DRAG_OVER DragEvents的AnchorPane安裝監聽器。在刪除之前發生的DRAG_OVER事件的最後一個位置是它被刪除的位置。

+0

感謝那個塞巴斯蒂安 - 是的,我被所有對'source's場景'的引用所困惑,但是很好地工作:'targetPane.sceneToLocal(ev.getSceneX(),ev.getSceneY())'返回目標窗格(其中ev是DragEvent對象,並且targetPane是從ev.getTarget()強制轉換的) –

+0

我完全忘記了這種方法,是的。我很高興它現在可以工作。 – Sebastian