Странная проблема при добавлении элементов в последовательность JavaFX - PullRequest
0 голосов
/ 02 июля 2010

Я столкнулся со странной проблемой при добавлении элементов в последовательность 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 снова была очищена.

Как это происходит? Есть комментарии?

1 Ответ

1 голос
/ 08 июля 2010

если назначить элементы управления для container.content, вы делаете этот контейнер также родительским для этих элементов управления.И есть только один родитель в любое время.Итак, это правильное поведение.Вы присваиваете seq для test1.content, а затем все элементы удаляются перед добавлением в test2.content.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...