ルートフォルダーのパスを指定してファイルシステムの JTree を作成しようとしていますが、最初は再帰的にリーフ ノードまでのノードを作成して出力しようとしています。
以下は私のコードです。第 1 レベルの後に印刷されない理由がわかりません。おそらく、createTree() を再帰的に呼び出していません...動作させる方法を誰か教えてもらえますか? (int i=0 はメソッドの外側で宣言されています)
public void createTree(String rootPath)
{
rootNode=new DefaultMutableTreeNode(rootPath);
File file=new File(rootPath);
if(file.isDirectory()&&file.list()!=null)
{
System.out.printf("\nThis folder contains %d files/folders\n" , file.list().length);
for(String node:file.list())
{
nodes[i]=new DefaultMutableTreeNode(node);
System.out.println(" - "+nodes[i]);
createTree(node);
i++;
}
}
else if(file.isFile())
{
nodes[i]=new DefaultMutableTreeNode(rootPath);
i++;
return;
}
else
return;
}