# JTree durchlaufen



## Malcolm X (14. Dez 2005)

Hallo,

ich habe ein Programm nach dem MVC Entwurfmuster geschrieben. Zu den verschiedenen Views gehört u.a. eine GraphicView. Der Code unten stellt einen Ausschnitt aus dieser GraphicView dar.  Die GraphicView hat die Aufgabe den Baum grafisch darzustellen. Das klappt auch soweit. Das Problem ist das der Vector in welchen die Elemente des  treeModels gelegt werden nicht alle Elemente enthält die im JTree dargestellt werden. 

Meine Frage: Befülle ich den Vector falsch oder woran kann es liegen das der Vector nicht alle Elemente die im JTree zu sehen sind enthält.


```
public void modelChanged()
{			
	methodCallVector.clear();
		
	treeModel = model.getDefaultTreeModel();
		
	for(int i=0; i<treeModel.getChildCount(root); i++)
	{	
		runThroughTree(treeModel.getChild(root, i));
	}

	repaint();
}
	
	
public void runThroughTree(Object node)
{
	objectNow = (MethodCall) node;
	methodCallVector.add(objectNow);
		
	for(int i=0; i<objectNow.getChildCount(); i++)
	{
		runThroughTree(objectNow.getChildAt(i));
	}
}
```


----------



## Beni (14. Dez 2005)

Versuch es mal mit Methodenvariablen. Dann wird "objectNow" auch nicht dauernd überschrieben...


```
public void runThroughTree(Object node)
{
   MethodCall objectNow = (MethodCall) node; // << hier
   methodCallVector.add(objectNow);
      
   for(int i=0; i<objectNow.getChildCount(); i++)
   {
      runThroughTree(objectNow.getChildAt(i));
   }
}
```


----------



## Malcolm X (14. Dez 2005)

danke für den Tip


----------

