如何在java中将对象转换为另一个对象?“javafx.scene.Group无法强制转换为javafx.scene.shape.Rectangle”

java object casting javafx

1164 观看

1回复

451 作者的声誉

如何更改存储在网格中的对象的属性?我试过这个,但它给了我上面的错误:

    Group group = new Group();
    double dimension_x=100;
    double dimension_y=100;

    GridPane grid = new GridPane();
    grid.setHgap(1);
    grid.setVgap(1);
    grid.setPadding(new Insets(36));
    grid.setGridLinesVisible(true);

    Rectangle temp = new Rectangle(dimension_x,dimension_y);
    Rectangle temp2 = new Rectangle(dimension_x,dimension_y);
    Rectangle temp3 = new Rectangle(dimension_x,dimension_y);
    Rectangle temp4 = new Rectangle(dimension_x,dimension_y);

    grid.add(temp, 0,0);
    grid.add(temp2, 1,1);
    grid.add(temp3, 2,2);
    grid.add(temp4, 3,3);

    for (final Node node : grid.getChildren())
    {

        Rectangle tempvar = (Rectangle) node;  //Errors out at javafx.scene.Group cannot be cast to javafx.scene.shape.Rectangle
        node.getStyleClass().add("box");
        //tempvar.setFill(Color.TRANSPARENT);
        //tempvar.setStroke(Color.WHITE);

    }

有没有办法循环我的网格并更改对象?

作者: CREW 的来源 发布者: 2012 年 3 月 22 日

回应 (1)


1

1611 作者的声誉

决定

打印结果grid.getChildren()

我怀疑网格包含其他4个矩形的对象

作者: ab_dev86 发布者: 22.03.2012 08:17
32x32