gpt4 book ai didi

JavaFX8 startFullDrag() 无效

转载 作者:行者123 更新时间:2023-11-30 07:30:50 25 4
gpt4 key购买 nike

我想通过拖放连接两个圆圈。

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.ANYDragEvent.DRAG_ENTERED 不会被触发。

我还尝试在DRAG_DETECTED中使用鼠标事件,但这也没有改变任何东西。我还尝试使用 setOnDragEntered(EventHandler)addEventHandler(EventType, EventHandler) 而不是 addEventFilter(EventType, EventHandler) 但没有效果。

为什么c2没有收到任何DragEvent

最佳答案

startFullDrag() 将触发 MouseDragEvents,但不会触发 DragEvents。

addEventFilter(DragEvent.DRAG_ENTERED, ... ); 替换为 addEventFilter(MouseDragEvent.DRAG_ENTERED, ... );

关于JavaFX8 startFullDrag() 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36160025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com