Используя компонент ZK Tree, как удалить Treeitems из узла Treechildren - PullRequest
3 голосов
/ 02 ноября 2009

Кто-нибудь знает, как удалить Treeitems из узла Treechildren в ZK? Я пытался использовать итератор и removeChild, но исключение ConcurrentModificationException!

List<Treeitem> myTreeItems = treechildren.getChildren();

Iterator<Treeitem> iterator = myTreeItems.iterator();

while (iterator.hasNext()){
   myItem = (Treeitem)iterator.next();
   parent.removeChild(myItem);
}

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 02 ноября 2009

Это не правильный способ удаления предметов, вам нужно сделать что-то вроде этого.

while (parent.getItemCount() > 0) {
   parent.removeChild(parent.getFirstChild());
}

Это обеспечит необходимую вам функциональность!

Более подробную информацию об использовании компонента Tree можно получить здесь .

0 голосов
/ 15 мая 2015
Vbox hbC;

hbC.appendChild(hijo1);

hbC.appendChild(hijo2);

for(int i = 0; 
  i< hbC.getChildren().size(); i++){

            hbC.removeChild(hbC.getChildren().get(i));
        } 

optional

try{

if(hbC.getChildren().size()>0){

for (Component c : hbC.getChildren()) {

           hbC.removeChild(c);
}

}

 1. List item

}catch()
0 голосов
/ 06 ноября 2009

Как я видел в вашем случае, вы хотите удалить все компоненты, которые все прикреплены на treechildren. Я думаю, что самый быстрый способ это:

treechildren.getChildren().clear();

просто обработайте результат как java.util.List.

...