当它在另一个里面时切换形式颜色

Switch forms color when it is inside another one

我正在尝试设置一个包含多个点的面板,然后绘制一个三角形或任何其他形状。该表格内的所有点都会将其颜色切换为红色。

好像我做错了什么,这是在 for 循环内绘制点的正确方法吗?

确保在创建圈子之前创建 Polygon。这使您可以按照此答案中的描述检查形状的交集:

相应地选择圆填充:

@Override
public void start(Stage stage) {
    Group root = new Group();

    Polygon triangle = new Polygon(300d, 100d, 600d, 150d, 500d, 300d);
    root.getChildren().add(triangle);

    Scene scene = new Scene(root, 900, 500);

    for (double x = 65; x < scene.getWidth(); x += 65) {
        for (double y = 65; y < scene.getHeight(); y += 65) {
            Circle circle = new Circle(x, y, 10);

            root.getChildren().add(circle);

            Shape intersection = Shape.intersect(circle, triangle);

            //Setting the color of the circle
            circle.setFill(intersection.getBoundsInLocal().getWidth() == -1 ? Color.BLACK : Color.RED);
        }
    }

    triangle.setFill(Color.TRANSPARENT);
    triangle.setStroke(Color.RED);
    triangle.toFront();

    stage.setTitle("Scale transition example");
    stage.setScene(scene);
    stage.show();
}