从ImageView获取id,如果getId然后与特定的ImageView id进行比较?

问题描述 投票:1回答:1

我可以通过使用获得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)

当我点击摇滚图片时它不起作用它应该给出结果但它没有显示结果。

javafx-8
1个回答
0
投票

id属性包含一个字符串。出于这个原因,比较id的正确方法是

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

既然您似乎将ImageView注入控制器,只需比较引用也应该有效:

event.getSource() == iv_Rock

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

© www.soinside.com 2019 - 2024. All rights reserved.