向JavaFX序列添加项时出现奇怪的问题

向JavaFX序列添加项时出现奇怪的问题,javafx,Javafx,我在向JavaFX序列添加项时遇到了一个奇怪的问题,代码如下所示 import javafx.scene.shape.*; import javafx.scene.Group; var seq = [Circle{}, Path{}, Rectangle{}, Ellipse{}]; var test1 = Group{}; var test2 = Group{}; function run(args : String[]) { test1.content = seq;

我在向JavaFX序列添加项时遇到了一个奇怪的问题,代码如下所示

import javafx.scene.shape.*;
import javafx.scene.Group;

var seq = [Circle{}, Path{}, Rectangle{}, Ellipse{}];
var test1 = Group{};
var test2 = Group{};

function run(args : String[]) {

     test1.content = seq;
     test2.content = seq;
     println("sizeof test1: {sizeof test1.content}");
     println("sizeof test2: {sizeof test2.content}");
}
看起来很简单:序列'seq'包含4个节点。现在我希望将seq的项分别传递给两个组test1和test2。但是输出结果真的很奇怪

sizeof test1: 0
sizeof test2: 4
赋值test1.content=seq之后,test1的大小已经是4。但是,在test2.content.seq之后,组test1再次被清除


这是怎么发生的?是否有任何注释?

如果将控件分配给container.content,则您要使此容器也成为此控件的父级。而且在任何时候都只有一个父母。所以,这是正确的行为。将seq分配给test1.content,然后在添加到test2.content之前删除所有元素