Data-driven - or data-aware - components are objects that listen for changes
in the data and notify other data-driven components that have requested to
listen. This design is a powerful means of maintaining an application
throughout not only the first development cycle, but also subsequent cycles
as your product becomes more robust and refined.
A component can be either a "behind-the-scenes working object" that loads and
manipulates data directly or a "user interface tool" that you can click on or
type in. Classes that need to send or receive data change notifications
should be made into data-driven components.
Some basic overhead is involved in accomplishing this, including
superclassing specific core Swing data models that are needed for your
application. The alternatives often lack the flexibility to easily maintain
your application and the robustness to create a ... (more)