我可以使用
获得ImageView
的ID ImageView iv = (ImageView)event.getSource();
并存储在字符串中
String userClickedImage = iv.getId();
但是您可以将我已经给予的ImageView
的ID进行比较在fxml文件中,我有三个图像具有三个不同的ID。AS可以在下面看到
<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种不同的事件处理程序方法。这将消除检查源的需求;通常,使用同一事件处理程序方法来基于源完全无关的事物不是一个好主意。