2009-11-02 4 views
3

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

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

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

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

Любые идеи?

ответ

2

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

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

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

Подробнее об использовании компоненты дерева доступны here.

+0

Спасибо, работал как шарм! – 2009-11-02 02:40:22

0

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

treechildren.getChildren().clear(); 

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

-1
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()