.getChildren().add() 需要一个节点并且无法添加我的对象
.getChildren().add() requires a node and cant add my object
我做了一个单独的 class 来在 JavaFX 中设置网格。 class如下:
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);
但它会抛出以下内容...
The method add(Node) in the type List is not applicable for the
arguments (Grid)
我知道 Grid
不是 Node
类型,因此无法添加,但我真的不知道我应该更改什么来添加它。我试过了
public class Grid extends GridPane{}
允许在Main
中添加对象,但是,它不会将变量添加到gp GridPane
中其他 class.
有什么建议吗?
您试图将 class 的对象添加到组中,该对象的数据成员是一个节点。相反,您必须将节点本身添加为组的子节点。
试试这个方法:
Group root = new Group();
Grid g = new Grid();
root.getChildren().add(g.gp);
我做了一个单独的 class 来在 JavaFX 中设置网格。 class如下:
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);
但它会抛出以下内容...
The method add(Node) in the type List is not applicable for the arguments (Grid)
我知道 Grid
不是 Node
类型,因此无法添加,但我真的不知道我应该更改什么来添加它。我试过了
public class Grid extends GridPane{}
允许在Main
中添加对象,但是,它不会将变量添加到gp GridPane
中其他 class.
有什么建议吗?
您试图将 class 的对象添加到组中,该对象的数据成员是一个节点。相反,您必须将节点本身添加为组的子节点。 试试这个方法:
Group root = new Group();
Grid g = new Grid();
root.getChildren().add(g.gp);