.useful Java library

About
License

Documentation

Why dotuseful?
Dynamic Tree Tutorial
XMLTree Tutorial
API Reference

 

Articles

Post-MVC

 

Download
Forums
.useful Team
Contribute

Hosted by

SourceForge.net Logo

Why dotuseful?

//in development

Key points are:

Junior developers starting to work with Swing trees usually make one similar mistake. Swing Tree API forces them to make all changes to a tree by calling methods on TreeModel. They don't respect this rule and make changes to a node directly. For example by calling node.insert() on it. Then they wonder why their model's visual representation (JTree) has not changed. Take a look for example at this thread
http://forum.java.sun.com/thread.jspa?forumID=57&threadID=561108

Let's move into theory a little. You want your classes to remain in consistent state after any method you invoked. You have the possibility to put you system into inconsistent state, for example, by adding new node to a node using node.insert(newNode). Your TreeModel will not be notified, your visual tree representation will not be presenting actual information. This inconsistent state is something we need to avoid.

Furthermore, object-oriented design teaches us to design objects which would be responsible for its own data. So it would be logically to let a node to manage its children and no need to worry about TreeModel.

 

Have thoughts? We want to hear from you! Contact us on our forums.