簡體   English   中英

JavaFx 8 TreeCell拖放

[英]JavaFx 8 TreeCell Drag and Drop

目的是在treeView上使用拖放來移動節點。
我已經看到了幾個在重新定義的TreeCell中處理事件的示例,但是僅觸發檢測到的事件。
這是我的代碼:

public class TreeCellImpl extends TreeCell<TreeItemContent> {

    public TreeCellImpl() {
        setOnDragEntered(e -> {
            System.out.println(" Entered ");
            e.consume();
        });
        setOnDragDetected(e -> {
            System.out.println(" Detected ");
            startDragAndDrop(TransferMode.MOVE);
            e.consume();
        });
        setOnDragDone(e -> {
            System.out.println(" Done ");
            e.consume();
        });
        setOnDragDropped(e -> {
            System.out.println(" Dropped ");
            e.setDropCompleted(true);
            e.consume();
        });
        setOnDragExited(e -> {
            System.out.println(" Exited ");
            e.consume();
        });
        setOnDragOver(e -> {
            System.out.println(" Over ");
            e.consume();
        });
     }
}

我哪里錯了?

在將一些內容添加到Dragboard之前,似乎不會觸發事件處理程序:

    setOnDragDetected(e -> {
        System.out.println(" Detected ");
        Dragboard db = startDragAndDrop(TransferMode.MOVE);
        ClipboardContent content = new ClipboardContent();
        content.putString( "Hello!" );
        db.setContent(content);
        e.consume();
    });

您還可以選擇使用MouseEvent中描述的其他類型的拖放機制。 MouseDragEvent

暫無
暫無

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

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