我的BorderPane有很多不同的图形,三角形,六边形,圆形,带图像的组和图形。然后我有一个对话框,要求先点击一个三角形然后再点击一个圆圈。在BorderPane中获取最后两个单击元素的最佳方法是什么?
我知道我可以将MouseEvent用于单个对象以查看它是否被点击,如下所示:
hexagon.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
System.out.println("hexagon clicked");
}
});
答案 0 :(得分:0)
您可以为BorderPane(假设root
)和每个元素设置ID(假设为Rectangle rectangle1
,rectangle2
)。然后可以检查它的元素是否被按下。以下是示例代码:
root.setOnMousePressed(new EventHandler<MouseEvent>()
{
@Override
public void handle(MouseEvent mouseEvent)
{
if (hexagon.isPressed())
System.out.println("hexagon");
else if (rectangle1.isPressed())
System.out.println("rectangle1");
else if (rectangle2.isPressed())
System.out.println("rectangle2");
else if (imageView1.isPressed())
System.out.println("imageView1");
else if (imageView2.isPressed())
System.out.println("imageView2");
else
System.out.println("Others");
}
});