我有一个包含很多矩形的Hbox。当我按下Hbox中的一个节点时,我希望它告诉我矩形在可观察列表中的位置我该如何实现?
以下是尝试(但不起作用)
figureRowBox.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
for (Node n : figureRowBox.getChildren()) {
if (n.isPressed()) {
System.out.println(figureRowBox.getChildren().indexOf(n));
}
}
}
});
其中figureRowBox是Hbox
答案 0 :(得分:2)
这是一个命中测试例程,用于确定在HBox中按下了哪个节点:
final HBox images = new HBox(10);
...
imageView.setOnMousePressed(new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent mouseEvent) {
final Object selectedNode = mouseEvent.getSource();
final int selectedIdx = images.getChildren().indexOf(selectedNode);
label.setText(
"Selected Vehicle: " + (selectedIdx + 1)
);
}
});
以下是指向complete sample code的链接: