2012-03-22 67 views
0

如何更改存储在网格中的对象的属性?我想这一点,但它给了我上面的错误:如何在java中将对象转换为另一个对象? “javafx.scene.Group不能转换为javafx.scene.shape.Rectangle”

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); 

    } 

有没有什么办法来遍历我的网格,将更改的对象?

+2

你肯定有你没有'grid.add(集团)'某处码? – 2012-03-22 08:13:00

+0

明天我会检查。我不相信我给网格添加了其他东西。我粘贴了代码。我现在正坐在床上。反正有没有现在的类型? (节点到对象/类型)这种方式,我可以投它只有当它的矩形? – CREW 2012-03-22 08:44:05

+0

你总是可以使用'instanceof' – 2012-03-22 08:45:25

回答

1

打印grid.getChildren()

我'sospocius该网格的结果中包含其他的4矩形其他对象