Как компоненты Swing реализуют архитектуру MVC? - PullRequest
3 голосов
/ 17 мая 2011

Предположим, у меня есть поле JText.Как только этот JTextfield реализует архитектуру MVC?

Ответы [ 2 ]

4 голосов
/ 17 мая 2011

Все компоненты 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.

3 голосов
/ 17 мая 2011

Документ является моделью.

Кроме того, JTextField реализует MVC так же, как и любой другой компонент Swing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...