2015-06-30 5 views
1

Я создаю приложение с использованием JavaFX 8. Я изменяю содержимое сетки динамически с помощью перетаскивания. Я хочу итерировать содержимое GridPane для каждой строки или строки/столбца. JavaFX позволяет добавлять узлы в GridPane, указав строку и столбец.JavaFX - Итерировать узлы GridPane в строке - Чтение узлов GridPane для каждой строки

gridPane.add(node, col, row); 

Я хотел бы прочитать узлы в GridPane по тому же пути, указав строку и столбец.
Я хотел бы иметь что-то похожее на это источник (приведенный ниже код не является правильным),

for(int row = 0; row < gridPaneHeight; row++) { 
    for(int col = 0; row < gridPaneWidth; col++) { 
     Node node = gridPane.get(col, row); 
    } 
} 
+0

нет кода выше. Вы имеете в виду код ниже – Madhan

+0

Неверное слово. Я прошу прощения. Я редактировал вопрос. –

ответ

3

Как насчет

int[][] gridPaneNodes = new int[gridPaneWidth][gridPaneHeight] ; 
for (Node child : gridPane.getChildren()) { 
    Integer column = GridPane.getColumnIndex(child); 
    Integer row = GridPane.getRowIndex(child); 
    if (column != null && row != null) { 
     gridPaneNodes[column][row] = child ; 
    } 
} 

(или, вы можете просто отслеживать, какие были помещены в котором клетка, когда вы положили их там ...)

Затем вы можете сделать

for (int row = 0; row < gridPaneHeight; row++) { 
    for(int col = 0; row < gridPaneWidth; col++) { 
     Node node = gridPaneNodes[column][row] ; 
    } 
} 
+0

Благодарим за быстрый ответ. –

+0

Является ли это типом массива узлов? –

 Смежные вопросы

  • Нет связанных вопросов^_^