package javafxapplication.rt.pkg23541; import java.io.File; import java.util.List; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.input.Clipboard; import javafx.scene.input.DataFormat; import javafx.scene.input.DragEvent; import javafx.scene.input.Dragboard; import javafx.scene.layout.StackPane; import javafx.stage.Stage; /** * * @author yjoan */ public class JavaFXApplicationRT23541 extends Application { @Override public void start(Stage primaryStage) { Button btn = new Button(); btn.setText("RT-23541"); btn.setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { System.out.println("RT-23541"); } }); StackPane root = new StackPane(); root.getChildren().add(btn); Scene scene = new Scene(root, 300, 250); scene.addEventHandler(DragEvent.DRAG_ENTERED, new EventHandler() { @Override public void handle(DragEvent dragEvent) { Dragboard db = dragEvent.getDragboard(); final List files = db.getFiles(); if (!files.isEmpty()) { try { final File file = files.get(0); System.out.println("java.runtime.version = " + System.getProperty("java.runtime.version")); System.out.println("File: " + file.getAbsolutePath()); System.out.println("File exists: " + file.exists()); System.out.println("Clipboard.hasFiles " + Clipboard.getSystemClipboard().hasFiles()); } catch (RuntimeException e) { // xxxx } } else { System.out.println("Empty list of files !"); System.out.println("Dragboard string " + db.getString()); System.out.println("Clipboard.hasFiles " + Clipboard.getSystemClipboard().hasFiles()); } dragEvent.consume(); } }); primaryStage.setTitle("RT-23541"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }