2017-07-26 32 views
-1

我必須從GridPane獲取ImageView。如何從GridPane獲取ImageView(不是節點)

我使用此代碼,但它是爲Node,而我試圖更改ImageView(內GridPane)中的圖像。

private Node getNodeFromGridPane(GridPane gridPane, int col, int row) { 
     for (Node node : gridPane.getChildren()) { 
     if (GridPane.getColumnIndex(node) == col && GridPane.getRowIndex(node) == row) { 
      System.out.println(node); 
      return node; 
     } 
     } 
     return null; 
    } 

有沒有解決方法?

我已經搜索了很多帖子,但沒有解決這個問題。 謝謝

+2

你知道[一個ImageView *是一個節點](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/ImageView.html),對吧?只要檢查節點是否是ImageView的一個實例。 – VGR

回答

1

在主叫方可能會做下:

final Node foundNode = getNodeFromGridPane(gridPane, col, row); 
if (foundNode instanceof ImageView) { 
    //do something 
} 

instanceof會關心兩ImageView的和無效。