Hi Christopher, This is a bug in the Mac platform code. I’ve created a JBS issue, see https://bugs.openjdk.org/browse/JDK-8325591. Unfortunately I haven’t found a work-around for it.
Martin > On Feb 9, 2024, at 9:17 PM, Christopher Schnick <crschn...@xpipe.io> wrote: > > Hello, > I'm using macOS Sonoma 14.3 aarch64 and I'm trying to recognize whether a > file was successfully dropped into finder from the JavaFX application. > However, the event always reports that it was not accepted. I was under the > impression that event.isAccepted() should return true if it was successfully > dropped. This is the reproducer: > > public class DragDrop extends Application { > @Override > public void start(Stage primaryStage) throws Exception { > var file = Files.createTempFile("test", null); > > var r = new Region(); > r.setOnDragDetected(event -> { > event.setDragDetect(true); > Dragboard db = r.startDragAndDrop(TransferMode.MOVE); > var cc = new ClipboardContent(); > cc.putFiles(List.of(file.toFile())); > db.setContent(cc); > event.consume(); > }); > > r.setOnDragDone(event -> { > System.out.println("Accepted: " + event.isAccepted()); > System.out.println(event); > }); > > var scene = new Scene(r, 450, 500); > primaryStage.setScene(scene); > primaryStage.setTitle("Test"); > primaryStage.show(); > } > } > > > > I looked through the documentation of DragEvent but I'm still not really sure > whether this is a bug. The documentation of DragEvent is a little bit light > when it comes to behavior of drag events that go to the system itself. > > Best > Christopher Schnick >