在Hbox中查找按下的节点的位置

时间:2013-04-21 23:03:36

标签: java javafx

我有一个包含很多矩形的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

1 个答案:

答案 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的链接:

selected vehicle

相关问题