簡體   English   中英

Java SWT:拖放

[英]Java SWT: Drag / Drop

我想在TreeViewer拖放節點以對其重新排序。 我的樹中的節點包裝了IJavaElementIFile 我的問題是,一旦執行drop事件(= null ),就無法訪​​問將這些節點值放入拖動事件的任何嘗試。 顯然,您必須使用或創建的TransferHandles出現了問題。

   @Override
    public void dragSetData(DragSourceEvent event) {     
        IStructuredSelection selections = treeViewer.getSelections();
        IBookmark dragNode = (IBookmark) selections.getFirstElement();

        //There is only 1 transfer handle as return
        event.dataType = FileTransfer.getInstance().getSupportedTypes()[0];
        event.data = dragNode.getValue();//<-- Returns my IFile

它應該以這種方式工作,但沒有任何內容到達我的drop監聽器。 有人知道我在做什么錯嗎?

編輯:

是否有辦法放置被拖動到拖動事件中的對象的當前實例? 我僅以自己的觀點在Eclipse中進行此操作。 實際上,我對刪除的對象實例更感興趣,而不僅僅是節點的值。

從代碼中尚不清楚為什么在drop事件中會得到null (如果傳輸類型不兼容,則根本不會丟棄)。 但是,在dragSetData()設置dataType無效。 傳輸類型應該用配置addDragSupportaddDropSupportStructuredViewer

是否有辦法放置被拖動到拖動事件中的對象的當前實例?

您可以按照此處的說明使用LocalSelectionTransfer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM