从javaFX场景拖放到Windows资源管理器

时间:2014-05-21 03:26:28

标签: drag-and-drop javafx

有没有办法从javaFX场景拖放到Windows资源管理器?

1 个答案:

答案 0 :(得分:0)

是的 您应该使用onDragDetected函数来启动dragEvent和onDragDone函数,以便在完成拖动操作后执行任何操作。下降。

这是一个例子:

final Text source = new Text(50, 100, "DRAG ME");

    source.setOnDragDetected(new EventHandler <MouseEvent>() {
        public void handle(MouseEvent event) {
            /* drag was detected, start drag-and-drop gesture*/
            System.out.println("onDragDetected");

            /* allow any transfer mode */
            Dragboard db = source.startDragAndDrop(TransferMode.ANY);

            /* put a string on dragboard */
            ClipboardContent content = new ClipboardContent();
            content.putString(source.getText());
            db.setContent(content);

            event.consume();
        }


source.setOnDragDone(new EventHandler <DragEvent>() {
        public void handle(DragEvent event) {
            /* the drag-and-drop gesture ended */
            System.out.println("onDragDone");
            /* if the data was successfully moved, clear it */
            if (event.getTransferMode() == TransferMode.MOVE) {
                source.setText("");
            }

            event.consume();
        }
    });