In Any Case i solved the problem:
there is a couple of solutions
1)
*******PREPERATION METHODS*******/DefaultMutableTreeNode root = (DefaultMutableTreeNode)tree.getModel().getRoot();
TreePath tp=new TreePath(root.getPath());
pathArrayList=new ArrayList(Total_node_number);
getPathForAllNodes(tp);
/*******************END OF PREPERATION**************/
public void getPathForAllNodes(TreePath path)
{
Object node = path.getLastPathComponent();
pathArrayList.add(path);
TreeModel model = tree.getModel();
if(model.isLeaf(node))
return;
int num = model.getChildCount(node);
for(int i = 0; i < num; i++)
{
getPathForAllNodes(path.pathByAddingChild(model.getChild(node, i)));
}
}
2)
/*******PREPERATION METHODS*******/DefaultMutableTreeNode root = (DefaultMutableTreeNode)tree.getModel().getRoot();
TreePath tp=new TreePath(root.getPath());
pathArrayList=new ArrayList(Total_node_number);
getTotalPaths((TreeModel)tree.getModel(), root,tp);
/*******************END OF PREPERATION**************/
public void getTotalPaths(TreeModel model, Object node,TreePath path)
{
pathArrayList.add(path);
for (int i = 0; i < model.getChildCount(node); i ++)
{
getTotalPaths(model, model.getChild(node, i),path.pathByAddingChild(model.getChild(node, i)));
}
return ;
}