Java Swings/MVC
Appearance
Content
- Java Swing
- Overview
- AWT
- Dive into Swings
- First Examples
- Swing Top Level Containers
- Swing Layouts
- Event Handling
- MVC architecture
- Responsive Swing Application
- Large Examples
Appendix
This chapter explains how to separate Swing applications into a more maintainable triad of components: the domain model, the view of the user interface, and the controller that oversees these. A minimal class structure is shown below.
The main application class is the controller: it creates a model object (which is Observable), and a view object (which is an Observer of the model). The controller adds the view as an observer of the model.
When the model changes, it calls setChanged()
and then notifyObservers()
. This means that the model can react to user input.
The controller doesn't touch the view (apart from instantiating it and giving it the model).
The view has access to the model, including to change it.