JavaFX-如何使用相同的控制器函数处理多个图像

时间:2016-03-18 15:29:46

标签: javafx fxml

我有一个滚动的图片,可以拖到我场景中的另一个窗格上(可以选择一个图像)。唯一的问题是它们都必须在控制器类中共享相同的dragNdrop方法。我知道每个可注入节点的fx:id必须是唯一的,所以在JavaFX中有另一种解决方法吗?

我甚至尝试将我的图像添加到控制器类中的ArrayList,创建一个迭代器来遍历dragNdrop方法中的每个,但它不起作用(出于某种原因给我一个NullPointerException)。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

根本不需要注入节点。如果您检测到拖放手势,则可以使用Event.getTarget()Event获取触发该事件的节点。在这里,我假设只有ImageView s才能成为简单的目标:

@FXML
private void dragDetected(MouseEvent event) {
    ImageView target = (ImageView) event.getTarget();
    // do something ...
}