.getChildren()。add()需要一个节点,无法添加我的对象

时间:2019-05-14 09:58:39

标签: java javafx nodes gridpane

我制作了一个单独的类来在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 :(得分:0)

您试图将具有节点作为其数据成员的类的对象添加到组中。相反,您必须将节点本身添加为组的子级。 尝试这种方式:

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