鼠标事件处理组圈子(JavaFX)

时间:2016-05-22 11:35:07

标签: javafx java-8

我想在点击圆圈时更改半径。 集团中的所有圈子都是“圈子”。

我怎样才能将“circle1”半径设置为a?

        for (Node circle1: circles.getChildren()) {
            if (circle1.getTranslateX() != circle.getTranslateX()) {

                circle.setRadius(60);
                //circle1.setRadius(40); <- FAIL

            }

完整代码

    Group root = new Group();
    Scene scene = new Scene(root, 800, 600, Color.web("#2E3436"));
    primaryStage.setScene(scene);

    Group circles = new Group();
    for (int i = 0; i < 2; i++) {
        Circle circle = new Circle(40, Color.web("#2E3436", 0.05));
        circle.setStrokeType(StrokeType.OUTSIDE);
        circle.setStroke(Color.web("#0086FF", 0.14));
        circle.setStrokeWidth(4);
        circle.setTranslateX(random() * 800);
        circle.setTranslateY(random() * 600);
        circle.addEventHandler(MouseEvent.MOUSE_CLICKED , (Event event) -> {
            for (Node circle1: circles.getChildren()) {
                if (circle1.getTranslateX() != circle.getTranslateX()) {

                    circle.setRadius(60);
                    //circle1.setRadius(40);

                }
            }
        });
        circles.getChildren().add(circle);
    }   
    root.getChildren().add(circles);
    circles.setEffect(new BoxBlur(2, 2, 1));

1 个答案:

答案 0 :(得分:0)

将circle1转换为Circle而不仅仅是Node。