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
> 

Reply via email to