Я столкнулся с препятствием в своем программировании. У меня есть массив групп дуг на панели (HE.getDatabase()) - это массив групп дуг. Я пытаюсь пропустить их и удалить любую дугу, заполняющую BLACK. Если я попытаюсь сделать их зелеными, это сработает, и каждая дуга, заполняющая BLACK, станет зеленой, используя тот же цикл. Как это:Как удалить отдельные узлы внутри групп на панели javafx
main.getDeleteSelected().setOnAction(b -> {
for(int i=0; i < HE.getDatabase().size(); i++){
for(Node one: HE.getDatabase().get(i).getChildren()){
if (((Arc) one).getFill() == Color.BLACK){
((Arc) one).setFill(Color.GREEN);
}
}
}
});
Но если я пытаюсь удалить Arc будет удалить только один или два на определенные действия в то время. Например:
main.getDeleteSelected().setOnAction(b -> {
for(int i=0; i < HE.getDatabase().size(); i++){
for(Node one: HE.getDatabase().get(i).getChildren()) {
if (((Arc) one).getFill() == Color.BLACK){
HE.getDatabase().get(i).getChildren().remove(one);
}
}
}
});
Мне нужно несколько раз ударять элемент меню, чтобы избавиться от всех BLACK заполненных дуг. Я уверен, что это связано с group.getChildren(). Remove (selected) часть кода. Любая помощь по этому вопросу будет принята с благодарностью. Есть ли другой способ избавиться от узла без ссылки на родителя?