Я хочу связать два круга, перетащив &.JavaFX8 startFullDrag() не работает
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);
Это то, что я пробовал.
При перетаскивании & сбрасывание с левого кружка c1
вправо c2
, DRAG_DETECTED
Событие будет работать.
Но DragEvent.ANY
или DragEvent.DRAG_ENTERED
не будет запущен.
Я также пытался использовать события мыши в DRAG_DETECTED
, но это тоже ничего не меняет. Я также пробовал использовать setOnDragEntered(EventHandler)
и addEventHandler(EventType, EventHandler)
вместо addEventFilter(EventType, EventHandler)
, но никто не работает.
Почему c2
не принимает DragEvent
?