Modelknoten umbenennen

ThorstieB

Mitglied
Hallo Forum,
ich ändere derzeit einen Knoten im Model um, bin aber der Meinung dass ich das alles andere als gut löse.

Java:
 ((DefaultMutableTreeNode) ((DefaultMutableTreeNode) ((DefaultMutableTreeNode) treemodel.getRoot()).getFirstChild()).getFirstChild()).setUserObject("h1234556789784561231212345678987456123654789654123648ola");
				 treemodel.nodeChanged(((DefaultMutableTreeNode) ((DefaultMutableTreeNode) treemodel.getRoot()).getFirstChild()).getFirstChild());

Kann ich die einzelnen Knoten auch effektiver ansprechen?
vielen Dank für eure Hilfe
Thorsten
 

Marco13

Top Contributor
Wenn überhaupt dann sollten die ganzen casts IMHO rausgezogen werden - also nicht
doSomething((DefaultMutableTreeNode)treeNode);
sondern
DefaultMutableTreeNode defaultMutableTreeNode = (DefaultMutableTreeNode)treeNode;
doSomething(defaultMutableTreeNode);

Ist eigentlich eher "Geschmacksache", aber ich find's übersichtlicher, und wenn eine ClassCastException fliegt (was man vermeiden sollte) weiß man wenigstens, an welcher Stelle das passiert ist.

Ansonsten kannst du statt getFirstChild() immer getChild(0) verwenden, und dir die ersten drei Casts sparen. Ob man es "noch geschickter" machen kann, kann man am geposteten Schnipsel nicht erkennen.
 

Marco13

Top Contributor
In diesem Fall kann man sich ja insbesondere durch das "Rausziehen" einiges sparen, weil derselbe Knoten zwei mal verwendet wird.
 

Ähnliche Java Themen

Neue Themen


Oben