JavaFX 8文件拖放工作但复制和粘贴不起作用

时间:2017-10-26 07:59:03

标签: java linux

我正在编写JavaFX 8应用程序。 我可以成功地从我的应用程序中拖动一个或多个文件,然后将它们放入文件管理器(Naitilus)。 以下是我将文件放入dragboard的方法:

    private void dragDetected(MouseEvent mouseEvent,Thumbnail thumbnail) {
        Dragboard dragboard = thumbnail.startDragAndDrop(TransferMode.COPY);
        ClipboardContent clipboardContent = new ClipboardContent();
        List<File> lstFileSelected = getListFileSelected();
        clipboardContent.putFiles(lstFileSelected);
        dragboard.setContent(clipboardContent);

        mouseEvent.consume();
    }

我可以从我的应用程序中成功复制一个字符串并将其粘贴到外部编辑器(gEdit)中。 以下是我将字符串放入系统剪贴板的方法:

    private void copyToClipboard() {
        Clipboard clipboard = Clipboard.getSystemClipboard();
        ClipboardContent clipboardContent = new ClipboardContent();
        clipboardContent.putString("Dummy");
        clipboard.setContent(clipboardContent);
    }

但是当我尝试从我的应用程序中复制一个或多个文件并将它们粘贴到文件管理器(Nautilus)中,并将其粘贴到权限为== 0777的文件夹中时,我无法将其作为“粘贴”选项文件管理器的菜单被禁用。 以下是我将文件放入系统剪贴板的方法:

    private void copyToClipboard() {
        Clipboard clipboard = Clipboard.getSystemClipboard();
        ClipboardContent clipboardContent = new ClipboardContent();
        List<File> lstFileSelected = getListFileSelected();
        // lstFileSelected DOES HAVE all the selected files (one or more)
        clipboardContent.putFiles(lstFileSelected);
        clipboard.setContent(clipboardContent);
    }

我的环境:

Debian GNU/Linux 9 (stretch) 64-bit with Gnome 3.22.2
Java jdk-8u152-linux-x64
Eclipse SDK Oxygen.1a (4.7.1a)

任何人都可以帮助我理解错误。 谢谢你,米哈伊尔。

0 个答案:

没有答案