arrays - JavaFX - 单击二维数组中的内容时获取索引
问题描述
我已经构建了一个 ImageView 的二维数组,我希望能够在单击它时打印出 ImageView 的索引(并使用该信息来更改图片)。
我现在有以下代码,但我不知道如何让它在二维数组中打印其位置的 x 和 y 值。
ImageView[][] mainGrid = new ImageView[8][8];
...
for (int x = 0; x < 8; x++) {
for (int y = 0; y < 8; y++) {
mainGrid[x][y] = new ImageView(image);
mainGrid[x][y].setOnMouseClicked(createMouseHandler());
}
}
...
private EventHandler<? super MouseEvent> createMouseHandler() {
return event -> {
System.out.println("Clicked");
}
}
任何帮助是极大的赞赏!谢谢!
解决方案
这个问题最通用的解决方案是使用 Node 类的getProperties()方法。您可以使用它将任何用户信息存储在您喜欢的节点中,然后在需要时检索它。在您的情况下,存储索引,然后在鼠标处理程序中检索它们。
推荐阅读
- python - 使用 GMAIL API 的 Django 应用程序,Oauth 令牌已删除错误
- ios - 使用 Alamofire 加载图像非常慢
- ssh - 将 ssh 密钥从 windows 机器复制到 windows server 2019
- javascript - 计算两个期间的百分比差异
- c# - Blazor WASM,自动更新数据更改
- deep-learning - 多类文本分类
- c - 在 C 中不能按预期工作的字符串回文函数
- python - 有人可以解释为什么我在我的 ATM python 程序中出现这个错误(TypeError: unsupported operand type(s) for -: 'float' and 'tuple')
- python - 如何更新画布大小的 tkinter 滚动条大小
- java - Нow 在科尔多瓦的 android 上启用并查看 StrictMode