以一种方式将多个文件拖放到javaFX中

时间:2018-07-18 11:15:56

标签: java javafx

要求::如果用户以一种方式一次删除多个文件,然后如何使用它,那么如果用户将一个或多个文件一次删除,则我有获取文件的代码。

我在Drag and drop multiple files into javaFX处发现了类似的问题,但答案并非我所期望的。

这是到目前为止我尝试在文本区域中拖动文件的方法:

textArea.setOnDragOver(new EventHandler<DragEvent>() {
        @Override
        public void handle(DragEvent event) {
            if (event.getDragboard().hasFiles()) 
                event.acceptTransferModes(TransferMode.COPY);

            event.consume();
        }
    });

textArea.setOnDragDropped(new EventHandler<DragEvent>() {
        @Override
        public void handle(DragEvent event) {
            Dragboard db = event.getDragboard();
            List<File> files = (ArrayList<File>) db.getContent(DataFormat.FILES);

            if (files != null) {
                File file = files.get(0);

                // rest implementation after getting file

             }
             event.setDropCompleted(success);

            event.consume();
        }

    });

如果用户删除多个文件,我可以使用List<File> files = (ArrayList<File>) db.getContent(DataFormat.FILES);获取文件列表。

但是,如果用户一个(一个以上)删除文件,那么如何使用它(就像我们在gmail中找到的一样,如下图所示)

enter image description here

0 个答案:

没有答案