[英]JavaFX8 startFullDrag() not effective
我想通过拖放连接两个圆圈。
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
s?
startFullDrag()
将触发 MouseDragEvents,但不会触发 DragEvents。
替换addEventFilter(DragEvent.DRAG_ENTERED, ... );
使用addEventFilter(MouseDragEvent.DRAG_ENTERED, ... );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.