2012-03-22 53 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矩形其他對象