将多个文件拖放到javaFX中

时间:2018-04-19 11:54:27

标签: javafx drag-and-drop

我对Java很陌生。我正在构建一个小应用程序来帮助我正常工作,基本上是处理几个文件文本文件并添加这些文件包含的文本符号数。我想了解如何将多个文件放入javaFX场景,因为handle(DragEvent event)只接受一个文件。

1 个答案:

答案 0 :(得分:1)

您可以清楚地接受DragEvent中的多个文件 以下示例显示了放到场景中的文件名:

@Override
public void start(Stage primaryStage) {
    Text text = new Text();
    StackPane root = new StackPane(text);

    root.setOnDragOver(evt -> {
        if (evt.getDragboard().hasFiles()) {
            evt.acceptTransferModes(TransferMode.LINK);
        }
    });
    root.setOnDragDropped(evt -> {
        text.setText(evt.getDragboard().getFiles().stream().map(File::getAbsolutePath).collect(Collectors.joining("\n")));
        evt.setDropCompleted(true);
    });

    Scene scene = new Scene(root, 400, 400);

    primaryStage.setScene(scene);
    primaryStage.show();
}