javafx-8 - 从 ImageView 获取 id,如果 getId 然后与特定的 ImageView id 进行比较?
问题描述
我可以ImageView
通过使用获取 id
ImageView iv = (ImageView)event.getSource();
并存储在字符串中
String userClickedImage = iv.getId();
但是你我可以与我已经在 fxml 中给出的 id 进行比较。ImageView
在 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 种不同的事件处理程序方法。这将消除检查来源的需要;通常,对于基于源的完全不相关的事情使用相同的事件处理程序方法并不是一个好主意。
推荐阅读
- regex - Perl 正则表达式间隔以匹配对应于十六进制数字的字符串
- git - 如何恢复我的文件并取消签入到错误的分支?
- ios - iPhone 未被 Xcode 11 检测到,但被 Mac 识别
- javascript - 返回承诺跳过 Ajax 调用
- android - 除非重新启动(杀死)应用程序,否则刷新 Firebase 中的远程配置不会更新
- javascript - 动画恒定边距过渡
- python - 将 NaN 替换为列中先前匹配值的行中的值
- javascript - 导入组件的未定义属性的类型错误
- arrays - 如何使用Rest API中的Java语法获取MongoDB中对象数组中的值
- python - 有没有办法让这个更小?