.getChildren (). add () требует узла и не может добавить мой объект - PullRequest
0 голосов
/ 14 мая 2019

Я создал отдельный класс для настройки сетки в JavaFX.Класс выглядит следующим образом:

public class Grid { 
    GridPane gp = new GridPane(); //sets grid (10x10)
    gp.setHgap(10);
    gp.setVgap(10);
    gp.setBorder(null);
    gp.setPadding(new Insets(15,15,15,15));

    int[][] shots = new int[10][10];

    for(int i = 0; i<10; i++) {
        for (int j = 0; j < 10; j++) {
            Rectangle r = new Rectangle(40 , 40);
            gp.add(r, j, i);
        }
    }
}

У меня тогда есть

Group root = new Group();
Grid g = new Grid();
root.getChildren().add(g);

, но он выдает следующее ...

Метод add (Node)в списке типа не применимо для аргументов (Сетка)

Я понимаю, что Grid не является типом Node, поэтому его нельзя добавить, но я действительно застрял начто я должен изменить, чтобы добавить его.Я пробовал

public class Grid extends GridPane{}

, который позволяет добавлять объект в Main, однако он не принимает переменные, добавленные к gp GridPane вдругой класс.

Есть предложения?

1 Ответ

0 голосов
/ 14 мая 2019

Вы пытались добавить объект группы, в которой узел является элементом данных, в группу. Вместо этого вы должны добавить сам узел как дочерний элемент группы. Попробуйте так:

Group root = new Group();
Grid g = new Grid();
root.getChildren().add(g.gp);
...