Все компоненты Java Swing используют MVC, хотя это не всегда ясно из API. Для каждого компонента есть Контроллер, Модель и Вид. JTextField, JButton и т. Д. - все это контроллеры. Все они также поддерживают getModel (), который содержит состояние компонента. Много API свинга загрязняют API контроллера удобными методами, поэтому это не всегда очевидно. Текст, отображаемый в JTextField, фактически сохраняется в модели. textField.getText () и textField.setText () на самом деле для вашего удобства, что они на самом деле делают это textField.getModel (). getText () и textField.getModel (). setText ().
Для представления есть пользовательский интерфейс getComponentUI (). Это обновляется свойством propertyChanges, запущенным из Model. ComponentUI - это то, что позволяет легко разрабатывать различные L & F.