T.M. SoftStudio

feci quod potui, faciant meliora potentes

Интерфейс Skinnable

Интерфейс Skinnable реализуется классами Control компонентов контроля графического интерфейса пользователя JavaFX-приложения для обеспечения их связи с объектом Skin, отвечающим за визуальное представление компонентов контроля GUI-интерфейса.

Данная архитектура компонентов контроля GUI-интерфейса платформы JavaFX является реализацией модели MVC (Модель-Представление-Поведение), в которой модель отвечает за бизнес-логику, представление – за отображение информации, предоставляемой моделью, а поведение (контроллер) – за связь с пользователем.

В JavaFX-реализации модели MVC классы Control отвечают за состояние GUI-компонентов, а классы Skin – за их визуальное отображение. Также платформа JavaFX содержит классы Behavior (пакет com.sun.javafx.scene.control.behavior), отвечающие за взаимодействие GUI-компонентов с пользователем.

Взаимодействие между объектами Control, Skin и Behavior построено таким образом, что объект Skin является слушателем изменений состояния объекта Control, а объект Behavior – слушателем событий, инициированных пользователем, в результате обработки которых изменяется состояние объекта Control. Объект Skin имеет ссылку только для чтения на объект Control и ссылку для чтения и записи на объект Behavior. Объект Control имеет ссылку для чтения и записи на объект Skin.

Для связи с объектом Skin интерфейс Skinnable предоставляет следующие свойства и методы:

  • Свойство skin – объект Skin<C extends Skinnable>, отвечающий за отображение объекта Control.

  • Метод ObjectProperty<Skin<?>> skinProperty() – возвращает JavaFX Beans свойство Skin-оболочки GUI-компонента.

  • Метод void setSkin(Skin<?> value) – устанавливает Skin-оболочку GUI-компонента.

  • Метод Skin<?> getSkin() – возвращает Skin-оболочку GUI-компонента.