Swing DesignModel/View/Controller Architecture
Model - The state data for a component. For example, a Choice would contain all the items that could be chosen. This data remains constant no matter what its representation is on the screen.
View - The way a component actually appears when it is drawn on the screen
Controller - The way a component interacts with the events that occur.