从ImageView获取ID,然后将getId与特定ImageView ID比较?

时间:2019-03-17 03:22:29

标签: javafx-8

我可以通过使用

获得ImageView的ID
ImageView iv = (ImageView)event.getSource();

并存储在字符串中

String userClickedImage = iv.getId();

但是您可以将其与fxml中已经给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)

当我单击岩石图像时,它不能显示结果,但不能显示结果。

1 个答案:

答案 0 :(得分:0)

id属性包含一个字符串。因此,比较ID的正确方法是

iv.getId().equals("iv_Rock")

由于您似乎将ImageView注入了控制器,因此简单地比较引用也应该有效:

event.getSource() == iv_Rock

您应该考虑简单地使用3种不同的事件处理程序方法。这将消除检查源的需要;通常,基于源对完全无关的事物使用相同的事件处理程序方法不是一个好主意。