2012-03-24 18 views
2

Я работаю над проектом, где я хочу создать серию папок со структурой и именем, подобным структуре JTree, которую я создал.Как сохранить путь к узлу в JTree?

Для упрощения:

Если A является корневым узлом и B и C являются его дети, во внутреннем интерфейсе, папки с именем «A» создается на месте «C: \ Users \ Sami \ Desktop» , Далее оба B и C создаются в «C: \ Users \ Sami \ Desktop \ A»

Я предполагаю, что если я пройду через каждый узел и получаю их отдельные TreePath, это упростит ситуацию.

Есть ли другая альтернатива, на которую я могу пойти ?. Если нет, как и где я могу сохранить путь к определенному узлу?

Пожалуйста, помогите.

ответ

0

Следующий код - это SSCCE (короткий самодостаточный пример). Он пересекает все узлы в дереве и получает путь как строку. Оттуда вы можете разыграть строки для своей цели.

import java.util.Enumeration; 
import javax.swing.JTree; 
import javax.swing.tree.DefaultMutableTreeNode; 
import javax.swing.tree.TreePath; 

public class StoreTreePathExample { 
    public static void main(String[] args){  
    JTree tree = new JTree(); 
    Enumeration en = ((DefaultMutableTreeNode)tree.getModel().getRoot()).preorderEnumeration(); 
     while(en.hasMoreElements()){ 
     TreePath path = new TreePath(((DefaultMutableTreeNode)en.nextElement()).getPath()); 
     String text = path.toString(); 
     System.out.println(text); 
     } 
    } 
} 
+0

придирки: это _not_ а [SSCCE] (http://sscce.org/), пожалуйста, посмотрите на то, что означает _self contained_ – kleopatra

+0

Opps ваше право, плохо редактировать – neokyle

Смежные вопросы