2012-03-24 3 views
2

私は作成したJTreeの構造と名前に似た構造と名前のフォルダを作成したいプロジェクトに取り組んでいます。JTreeのノードへのパスを保存する方法は?

を簡素化するために:

Aがルートノードであり、BとCは、バックエンドで、その子である場合は、フォルダ名を持つ「」場所に作成され、「C:\ Users \ユーザーサミ\デスクトップ」次に、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

関連する問題