我可以通过使用获得ImageView
的id
ImageView iv = (ImageView)event.getSource();
并存储在字符串中
String userClickedImage = iv.getId();
但你我可以比较我已经给fxx中的ImageView
的id在fxml文件中我有三个图像有三个不同的id。可以在下面看到
<ImageView fx:id="iv_Rock" fitHeight="100" fitWidth="100"
onMouseClicked="#selectImage"
GridPane.columnIndex="0" GridPane.rowIndex="2" >
<image >
<Image url="@images/Rock.jpg" />
</image>
</ImageView>
以及我如何比较
iv.getId().equals(iv_Rock)
当我点击摇滚图片时它不起作用它应该给出结果但它没有显示结果。
id
属性包含一个字符串。出于这个原因,比较id的正确方法是
iv.getId().equals("iv_Rock")
既然您似乎将ImageView
注入控制器,只需比较引用也应该有效:
event.getSource() == iv_Rock
您应该考虑简单地使用3种不同的事件处理程序方法。这将消除检查源的需要;通常,根据源使用相同的事件处理程序方法来处理完全不相关的事情并不是一个好主意。