JavaFX 끌어 놓기 & 드롭 대상 폴더 후에 드롭 완료되었습니다.


Answers

Question

Java Oracle 커뮤니티에 대한 질문 ( https://community.oracle.com/thread/3934986 )

문제 :

아래 코드는 전체 이름이 파일 경로를 나타내는 Button 대해 설정했습니다. Button 을 폴더 나 바탕 화면으로 드래그하면 ( Windows let에서 보자) 사용자의 운영 체제에 의해 복사됩니다.

드롭이 완료된 대상 폴더를 가져 오려고합니다.

암호:

button.setOnDragDetected(event -> {

        /* allow copy transfer mode */
        Dragboard db =  startDragAndDrop(TransferMode.COPY,TransferMode.LINK);

        /* put a string on dragboard */
        ClipboardContent content = new ClipboardContent();

        /*Adding a file into the ClipboardContent*/
        content.putFiles(Arrays.asList(new File(getSongPath())));

        ........//not showing this code....

        db.setContent(content);

        event.consume();

    }

수정 : (29/09/2016)

드롭이 완료되면 :

setOnDragDone(d -> {
                System.out.println(
                        "Drag Done,is drop completed?" + d.isDropCompleted() + " , is accepted?" + d.isAccepted());
                System.out.println("Accepted Mode:" + d.getAcceptedTransferMode());
                System.out.println(" Target:" + d.getTarget() + " Gestoure Target:" + d.getGestureTarget());
            });

Gesture Target == null 볼 수있는 출력이 표시됩니다.

Drag Done:true , s drop completed?false , is accepted?true
Accepted Mode:COPY
Target:SmartController$TableViewer@112437[styleClass=table-view] Gesture Target:null



Links