我正在使用SceneBuilder开发JavaFX应用程序。我有ImageView对象,并且setOnDragDropped没有触发。我没有收到任何错误。对于onDragDetected,一切正常。我试过这两个选项:1)从SceneBuilder设置它(参见截图)
第二种方式来自控制器代码:
@FXML public void sensorDrop(DragEvent event) {
System.out.println("Drooooop!>>");
event.consume();
//TODO More useful code
}
有什么想法吗?
答案 0 :(得分:1)
当你将某些东西放到注册它的节点上时,会调用onDragDropped
处理程序,而不是当你将某个节点放在某个节点上时。因此,您需要在堆栈窗格中注册onDragDropped
处理程序。
答案 1 :(得分:1)
要使其完整 - 为了注册它,必须注册setOnDragOver
label.setOnDragOver(new EventHandler <DragEvent>() {
public void handle(DragEvent event) {
event.acceptTransferModes(TransferMode.ANY);
event.consume();
}
});
我从以下答案中得到了答案: JavaFX OnDragDropped Not Registering