The design of the Swing component classes is loosely based on
the Model-View-Controller architecture, or MVC.
The model stores the data.
The view creates the visual representation from the data in the model.
The controller deals with user interaction and modifies the model and/or the view.