2013-12-18 3 views
12

Gridpane에서 특정 셀의 내용을 검색하려고합니다.javafx GridPane 특정 셀 내용 검색

setConstraints(btt , 0 ,1) 

setConstraints(btt , 0 ,2) 

getChildren().add.... 

내 경우에는 GridPane.getChildren.get(10)이 좋지 않습니다. 나는 세포에 직접 가서 (4,2) 내용을 얻고 싶다.

+0

이이 경우에 해당 할 수 있습니다 당신에게 youe이 –

답변

19

이 잘 나는 열 및 행 인덱스가에 의해 gridpane에서 특정 노드를 얻을 수있는 솔루션이 없을 경우, 나는 i이 어디가 8 × 8 girdPane을 가정 할 그 작업을 수행하는 기능,

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

이 생각 행과 j는 열입니다, 당신은 쓸 수 있습니다 :

myGridPane.getChildren().get(i*8+j)

는 반환 형식은 객체, 그래서 당신이 그것을 캐스팅해야합니다, 내 경우에는 다음과 같습니다

(StackPane) (myGridPane.getChildren().get(i*8+j))

+1

를 응답을 주셔서 감사하지만, 아이들이리스트는 반드시 행/열 순서대로 유지되지 않습니다 등 GridPane.setRowIndex() 나중에 변경 될 수 있습니다 .. – Adam

+0

setRowIndex()를 사용한 적이 없으므로별로 말할 수 없습니다. 이 솔루션은 저에게 효과적이었고, 기본 행/열 인덱스를 변경하지 않으면 대부분의 작업을 완료해야한다고 생각합니다. –