【问题标题】:.getChildren().add() requires a node and cant add my object.getChildren().add() 需要一个节点并且无法添加我的对象
【发布时间】:2019-10-01 07:43:41
【问题描述】:

我创建了一个单独的类来在 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);

但它会抛出以下内容......

List 类型中的 add(Node) 方法不适用于 参数(网格)

我知道Grid 不是Node 类型,因此无法添加它,但我真的坚持我应该更改什么来添加它。我试过了

public class Grid extends GridPane{}

这允许将对象添加到Main,但是,它不会将变量添加到其他类中的gp GridPane

有什么建议吗?

【问题讨论】:

    标签: java javafx nodes gridpane


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 2017-10-27
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 2012-03-16
      相关资源
      最近更新 更多