Ich möchte zwei Kreise durch Ziehen verbinden & Drop.JavaFX8 startFullDrag() nicht effektiv
Pane p = new Pane();
Circle c1 = new Circle(5);
c1.relocate(10,10);
c1.addEventFilter(MouseEvent.DRAG_DETECTED, e -> {
c1.startFullDrag();
System.out.println("started");
});
Circle c2 = new Circle(5);
c2.relocate(40,40);
c2.addEventFilter(DragEvent.ANY, e -> System.out.println("any"));
c2.addEventFilter(DragEvent.DRAG_ENTERED, e -> System.out.println("entered"));
p.getChildren().addAll(c1, c2);
Das habe ich ausprobiert.
Wenn ziehen & aus dem linken Kreis c1
auf den rechten Kreis c2
fallen, wird das DRAG_DETECTED
Event funktionieren.
Aber die DragEvent.ANY
oder DragEvent.DRAG_ENTERED
wird nicht ausgelöst.
Ich habe auch versucht, Mausereignisse in DRAG_DETECTED
zu konsumieren, aber das ändert auch nichts. Ich habe auch versucht mit setOnDragEntered(EventHandler)
und addEventHandler(EventType, EventHandler)
anstelle von addEventFilter(EventType, EventHandler)
aber keiner funktioniert.
Warum erhält c2
keine DragEvent
s?