JavaFX - Outlook附件 - DnD

时间:2015-02-17 13:43:01

标签: java javafx drag-and-drop outlook javafx-8

您好我需要一个DnD解决方案来将Outlook邮件附件拖到Stackpane。

JavaFX / Outlook 2010

    stackpaneDragAndDropZone.setOnDragOver((DragEvent event) -> {
        Dragboard db = event.getDragboard();
        System.out.println(db.getContentTypes());
    });

有这个输出:

[[message/external-body;access-type=clipboard;index=0;name="faxdoc-150217-1300-+49-206581978.pdf"], [RenPrivateItem]]

我如何使用此RenPrivateItem?

在常规Java上我得到了一个包含以下代码的文件:

    dropTarget.addDropTargetListener(new DropTargetAdapter() {
        public void drop(DropTargetDropEvent dtde) {
            Transferable t = dtde.getTransferable();

            try {
                DataFlavor[] dataFlavors = t.getTransferDataFlavors();

                dtde.acceptDrop(DnDConstants.ACTION_COPY);

                //create a temp file
                File temp = File.createTempFile("temp-file-name", ".tmp");

                for (int i = 0; i < dataFlavors.length; i++) {
                    File file = new File(t.getTransferData(dataFlavors[i]).toString().replace("[", "").replace("]", ""));
                    Desktop.getDesktop().open(new File(file.getCanonicalPath()));
                }

                dtde.dropComplete(true);

            } catch (Exception ex) {

                ex.printStackTrace();

            }

        }

    });

1 个答案:

答案 0 :(得分:0)

顾名思义,这是一种私人格式。但是你会得到CF_FILEDESCRIPTOR和CF_FILECONTENTS格式。