3.5.1.1. Контроллер экрана
Контроллер экрана - это Java или Groovy класс, который содержит в себе логику инициализации экрана и обработки событий. Чаще всего контроллер связан с XML-дескриптором экрана, который декларативно описывает компоновку экрана и контейнеры данных, однако и в контроллере можно программно создавать визуальные и невизуальные компоненты.
Все контроллеры экранов реализуют интерфейс-маркер FrameOwner. Название этого интерфейса означает, что в нём содержится ссылка на фрейм, то есть визуальный компонент, представляющий собой экран при его отображении в главном окне приложения. Существует два типа фреймов:
-
Window- самостоятельное окно, которое можно отобразить внутри главного окна приложения во вкладке или в виде модального диалогового окна. -
Fragment- легковесный компонент, который можно добавлять к окнам или к другим фрагментам.
Контроллеры также подразделяются на две отдельные категории по типам используемых фреймвов:
-
Screen- базовый класс контроллеров окон. -
ScreenFragment- базовый класс контроллеров фрагментов.
Класс Screen предоставляет базовую функциональность для любого типа самостоятельных экранов. Для экранов, предназначенных для работы с сущностями, существуют отдельные, более специфичные классы:
-
StandardEditor- базовый класс контроллеров экранов редактирования. -
StandardLookup- базовый класс контроллеров экранов просмотра и выбора. -
MasterDetailScreen- комбинированный экран, отображающий список экземпляров сущностей слева и детали выбранной сущности справа.